Ⅰ 【R語言】--- 各類數據的導入
通常情況下,我們會在excel中對數據進行預處理,然後將處理好的數據導入R中進行分析、作圖。但隨著數據源和數據格式的多樣化,將多種數據源和數據格式導入R中進行分析、作圖顯得尤為必要,因為這對於數據分析、作圖是最基礎的。
R可導入鍵盤(利用鍵盤輸入)、文本文件、excel、access、spss、sas等各類數據格式。
利用R中的edit()函數手動輸入數據的文本編輯器:
(1)創建一個空數據框(或矩陣),其中變數名和變數的模式需與理想中的最終數據集一致;
(2)針對這個數據對象調用文本編輯器,輸入你的數據,並將結果保存回此數據對象中。
函數edit()事實上是在對象的一個副本上進行操作的。若不將其賦值到一個目標,則所有修改將會全部丟失!
用read.table()從帶分隔符的文本文件中導入數據。此函數可讀入一個表格格式的文件並將其保存為一個數據框。
參數sep允許你導入那些使用逗號以外的符號來分隔行內數據的文件。你可以使用sep="\t"讀取以製表符分隔的文件。此參數的默認值為sep="",即表示分隔符可為一個或多個空格、製表符、換行符或回車符。
我習慣用readxl包的read_excel()函數進行導入:
SPSS數據集可以通過foreign包中的函數read.spss()導入到R中,也可以使用Hmisc包中的spss.get()函數。
use.value.labels=TRUE表示讓函數將帶有值標簽的變數導入為R中水平對應相同的因子。
R中設計了若干用來導入SAS數據集的函數,包括foreign包中的read.ssd()和Hmisc包中的sas.get()。這里我們使用sas7bdat包的read.sas7bdat()函數進行導入sas數據。
Robert I. Kabacoff (著). R語言實戰(高濤/肖楠/陳鋼 譯). 北京: 人民郵電出版社.
Ⅱ 如何用R語言提取股票行情數據
最上邊一行菜單欄倒數第二個「高級」-「關聯任務定義」-選取最右邊從上到下第二個按鈕,找到2009年決算任務安裝路徑-確定。 然後 最上邊一行菜單欄正數第二個「錄入」-「上年數據提取」即可 提取完了,注意修改與去年不同的科目代碼!
Ⅲ R語言基本數據分析
R語言基本數據分析
本文基於R語言進行基本數據統計分析,包括基本作圖,線性擬合,邏輯回歸,bootstrap采樣和Anova方差分析的實現及應用。
不多說,直接上代碼,代碼中有注釋。
1. 基本作圖(盒圖,qq圖)
#basic plot
boxplot(x)
qqplot(x,y)
2. 線性擬合
#linear regression
n = 10
x1 = rnorm(n)#variable 1
x2 = rnorm(n)#variable 2
y = rnorm(n)*3
mod = lm(y~x1+x2)
model.matrix(mod) #erect the matrix of mod
plot(mod) #plot resial and fitted of the solution, Q-Q plot and cook distance
summary(mod) #get the statistic information of the model
hatvalues(mod) #very important, for abnormal sample detection
3. 邏輯回歸
#logistic regression
x <- c(0, 1, 2, 3, 4, 5)
y <- c(0, 9, 21, 47, 60, 63) # the number of successes
n <- 70 #the number of trails
z <- n - y #the number of failures
b <- cbind(y, z) # column bind
fitx <- glm(b~x,family = binomial) # a particular type of generalized linear model
print(fitx)
plot(x,y,xlim=c(0,5),ylim=c(0,65)) #plot the points (x,y)
beta0 <- fitx$coef[1]
beta1 <- fitx$coef[2]
fn <- function(x) n*exp(beta0+beta1*x)/(1+exp(beta0+beta1*x))
par(new=T)
curve(fn,0,5,ylim=c(0,60)) # plot the logistic regression curve
3. Bootstrap采樣
# bootstrap
# Application: 隨機采樣,獲取最大eigenvalue占所有eigenvalue和之比,並畫圖顯示distribution
dat = matrix(rnorm(100*5),100,5)
no.samples = 200 #sample 200 times
# theta = matrix(rep(0,no.samples*5),no.samples,5)
theta =rep(0,no.samples*5);
for (i in 1:no.samples)
{
j = sample(1:100,100,replace = TRUE)#get 100 samples each time
datrnd = dat[j,]; #select one row each time
lambda = princomp(datrnd)$sdev^2; #get eigenvalues
# theta[i,] = lambda;
theta[i] = lambda[1]/sum(lambda); #plot the ratio of the biggest eigenvalue
}
# hist(theta[1,]) #plot the histogram of the first(biggest) eigenvalue
hist(theta); #plot the percentage distribution of the biggest eigenvalue
sd(theta)#standard deviation of theta
#上面注釋掉的語句,可以全部去掉注釋並將其下一條語句注釋掉,完成畫最大eigenvalue分布的功能
4. ANOVA方差分析
#Application:判斷一個自變數是否有影響 (假設我們喂3種維他命給3頭豬,想看喂維他命有沒有用)
#
y = rnorm(9); #weight gain by pig(Yij, i is the treatment, j is the pig_id), 一般由用戶自行輸入
#y = matrix(c(1,10,1,2,10,2,1,9,1),9,1)
Treatment <- factor(c(1,2,3,1,2,3,1,2,3)) #each {1,2,3} is a group
mod = lm(y~Treatment) #linear regression
print(anova(mod))
#解釋:Df(degree of freedom)
#Sum Sq: deviance (within groups, and resials) 總偏差和
# Mean Sq: variance (within groups, and resials) 平均方差和
# compare the contribution given by Treatment and Resial
#F value: Mean Sq(Treatment)/Mean Sq(Resials)
#Pr(>F): p-value. 根據p-value決定是否接受Hypothesis H0:多個樣本總體均數相等(檢驗水準為0.05)
qqnorm(mod$resial) #plot the resial approximated by mod
#如果qqnorm of resial像一條直線,說明resial符合正態分布,也就是說Treatment帶來的contribution很小,也就是說Treatment無法帶來收益(多喂維他命少喂維他命沒區別)
如下面兩圖分別是
(左)用 y = matrix(c(1,10,1,2,10,2,1,9,1),9,1)和
(右)y = rnorm(9);
的結果。可見如果給定豬吃維他命2後體重特別突出的數據結果後,qq圖種resial不在是一條直線,換句話說resial不再符合正態分布,i.e., 維他命對豬的體重有影響。
Ⅳ 我想用R語言分析相關關系,可是導入數據之後的時候總是顯示這個錯誤是為什麼呢,求解
data<-read.csv("C:/users/MrSun/Desktop/R.csv")
cor.test(data$ad,data$sale,method="spearman")
csv文件讀進來要保存到一個變數里去,用這個data frame里的變數的時候也要指明是哪個data frame。棚粗腔感覺你沒用過R,建議你去專門學一下R語言,比如用鏈衫swirl包:凳銷聯網之後在R里輸入
install.packages("swirl")
library(swirl)
swirl()
然後跟著學最基本的語法
Ⅳ 如何在r語言中抓取股票數據並分析論文
用quantomd包
然後getsymbols函數
分析論文 要看你研究方向
如果是看影響因素 一般回歸就行
如果看股票波動和預測 可能需要時間序列
Ⅵ r語言怎麼分析彩票數據的實際值與理論值
R語言是一種很好的數據分析工具,可以用來分析祈福彩票數據的實際值與理論值。下面是分析的具體步驟:
1.獲取數據:首先需要從數據源獲取祈福彩票的實際開獎數據和理論開獎數據,並將其導入到R語言中,可以使用read.csv()函數或其他導入函數。
2.數據清洗:對導入的數據進行清洗,包括去除重復值、缺失值、異常值等。可以使用subset()函數、na.omit()函數等進行數據清洗。李猛
3.數據分析:將實際開獎數據和理論開獎數據進行比較分析,計算出兩者之間的差異。可以巧擾孝使用t.test()函數進行假設檢驗,或者使用mean()函孝稿數計算均值、sd()函數計算標准差等進行統計分析。
4.數據可視化:使用ggplot2等數據可視化工具將分析結果以圖表的形式呈現出來,這樣可以更清晰地展示實際值與理論值之間的差異。
通過以上步驟,可以對祈福彩票的實際開獎數據和理論開獎數據進行分析,找出其中的規律和差異,為進一步的決策和預測提供參考。
Ⅶ 用r語言做數據分析好學嗎
非常好學。輸入幾行代碼,即可得到結果。
R不但數據分析好用,而且作圖能力極好,推薦你用。
下面是R數據分析的一些代碼,包括數據導入、方差分析、卡方測驗、線性模型及其誤差分析。希望可以幫到你:
1.1導入數據
install.packages('xslx')
library(xlsx)
Sys.setlocale("LC_ALL", "zh_cn.utf-8")
a=read.xlsx2('d:/1.xlsx',1,header=F)
head(a)顯示前六行
class(a$y)/str(a)查看列/全集數據類型
a$y=as.numeric(a$y)轉換數據類型
1.2方差分析(F test)
with(a,tapply(liqi,tan,shapiro.test))正態性檢驗
library(car)leveneTest(liqi~tan,a)方差齊性檢驗
q=aov(liqi~tan*chong,a)方差分析(正態型)
summary(q)
TukeyHSD(q)多重比較
1.3卡方測驗(Pearson Chisq)
a1=summarySE(a,measurevar='y', groupvars=c('x1','x2'))卡方檢驗(邏輯型/計數型)
aa=a1$y
aaa=matrix(a2,ncol=2)
aaa= as.table(rbind(c(56,44), c(36,64), c(48,52),c(58,42)))
dimnames(aaa)= list(group=c("不添加抗性","不添加敏感","添加抗性","添加敏感"),effect=c("存活","死亡"))
aaa=xtabs(data=a,~x+y)
chisq.test(a)誤差分析(卡方測驗,Pearson法)
install.packages("rcompanion")
library(rcompanion)
pairwiseNominalIndependence(a)多重比較
1.4線性模型及其誤差分析(Wald Chisq)
q=lm(data=a,y~x1*x2)一般線性模型(正態性)
summary(q)
q=glm(data=a,y~x1*x2,family = gaussian(link='identity'))廣義線性模型(正態性)
summary(q)
q=glm(data=a,y~x1*x2,family = binomial(link='logit'))廣義線性模型(邏輯型,二項分布)
summary(q)
q=glm(data=a,y~x1*x2,family = poisson(link='log'))廣義線性模型(計數型,泊松分布)
summary(q)
install.packages('lmerTest')一般線性混合效應模型(正態性)
library(lmerTest)
install packages(『lme4』)
library(lme4)
q=lmer(data=a,y~x1*(1|x2))
q=lmer(data=a,y~x1*(1|x2),family = gaussian(link='identity'))廣義線性混合效應模型(正態性)
q=glmer(data=a,y~x1*(1|x2),family = binomial(link='logit'))廣義線性混合效應模型(邏輯型,二項分布)
q=glmer(data=a,y~x1*(1|x2),family = poisson(link='log'))廣義線性混合效應模型(計數型,泊松分布)
summary(q)
install.packages('car')
install.packages('openxlsx')
library(car)
install.packages('nlme')
library(nlme)
Anova(q,test='Chisq')線性模型的誤差分析(似然比卡方測驗,Wald法)
lsmeans(q,pairwise~chuli,adjust = "tukey")線性模型的多重比較(tukey法)
Ⅷ r語言如何數據分析
r語言數據分析是查看數據的結構、類型,數據處理。根據查詢相關資料信息顯示:R語言是一個開源、跨平台的科學計算和統計分析軟體包,具有豐富多樣、強大的的統計功能和數據分析功能,數據可視化可以繪制直方圖、箱型圖、小提琴圖等展示分數的分布情況可以通過散點圖和線性擬合來展示分數和年齡之間的關系。
Ⅸ 如何用R語言的quantmod包獲取一系列股票的歷史日線數據
我舉個例子供你參考:
> install.packages('quantmod') # 安裝安裝quantmod包
> require(quantmod)#引用quantmod包
> getSymbols("GOOG",src="yahoo",from="2013-01-01", to='2013-04-24') #從雅虎財經獲取google的股票數據
> chartSeries(GOOG,up.col='red',dn.col='green') #顯示K線圖
Ⅹ 如何用R 語言 建立 股票價格的時間序列
在下想用R語言對股票價格進行時間序列分析。
問題出在第一步,如何將股票價格轉換為時間序列。
我想用的語句是 pri <- ts (data, start=(), frequency= )
但是我不知道frequency 項該如何填?
因為股票的交易日是一周五天的。 那麼這個frequency 該如何設置呢?
我知道通常frequency= 12 為月度數據,frequency= 4 為季度數據,frequency= 1 為年度數據 但日數據怎麼寫我就不知道了
初學R語言,還望各位大俠多多幫助。