http://www.cnblogs.com/wentingtu/archive/2012/03/03/2377965.html
http://www.douban.com/note/262946592/?type=like
R语言:机器学习程序包
http://blog.sciencenet.cn/blog-634847-497887.html
[转载]R基础:R语言及其学习资源
http://www.biosino.org/R/R-doc/onepage/R-data_cn.html#Importing-from-other-statistical-systems
R数据的导入和导出
http://www.biostatistic.net/thread-40320-1-1.html
read.dbf(foreign)
我们可以通过ls()看work space中有什么变量。
Help(functionname) ?functionname args(functionname) example(functionname)
通过object.size()看每个变量占多大内存。
通过memory.size()查看现在的work space的内存使用
通过memory.limit()查看系统规定的内存使用上限。如果你认为现在的内存上限不够用,可以通过memory.limit(newLimit)更改到一个新的上限。
注意,在32位的R中,封顶上限为4G,你无法在一个程序上使用超过4G(数位上限)。这种时候,可以考虑使用64位的版本。对于一些很大的但无用的中间变量,养成清理的习惯:可以使用rm(object)删除变量,但是记住,rm后记得使用gc()做Garbage collection,否则内存是不会自动释放的,相当于你没做rm.
使用foreign包的read.dbf()读取上百兆的DBF文件不可以
http://blog.sina.com.cn/s/blog_62b37bfe0101f4h0.html
访问某列数据
对于移除某行数据,可以用subset()函数,也可以下标运算,对象可以是向量、矩阵和数据框。以矩阵为例,利用下标进行数据删除时,常常进行的是整行或者整列的删除,默认情况下按列删除。
> x<-data.frame(matrix(1:30,nrow=5,byrow=T))
>new.x1<-x[-c(1,4)] #去除第一和第四列
>new.x1<-x[-c(1,4),] #去除第一和第四行
> new.x1<-x[,-c(1,4)] # 去除第一和第四列
而利用subset()函数进行访问和选取数据框的数据更为灵活,subset函数将满足条件的向量、矩阵和数据框按子集的方式返回。
Subset函数的三种应用方式:
subset(x, subset, ...)
subset(x, subset, select, drop =FALSE, ...) ##对于矩阵
subset(x, subset, select, drop =FALSE, ...) ##对于数据框
x是对象,subset是保留元素或者行列的逻辑表达式,对于缺失值用NA代替。
Select 是选取的范围,应小于x。
>x<-data.frame(matrix(1:30,nrow=5,byrow=T))
> rownames(x)=c("one","two","three","four","five")
>colnames(x)=c("a","b","c","d","e","f")
> x
>new<-subset(x,a>=14,select=a:f)
>new ## 从a到f列选取a>14的行。
http://my.oschina.net/zarger/blog/102818
访问数据某列
1.1 str函数可以查看数据框中每个变量的属性:
> str(Squid)
1.2函数中的数据参数--访问数据框中的变量的最佳方式
> M1 <- lm(GSI ~ factor(Location)+factor(Year),data = Squid)
1.3 $ 符号访问变量的另外一种方法
> Squid$GSI 或者 > Squid[,6]
1.4 attach 函数,将数据框添加到R的搜索路径中,此时就可以通过GSI命令直接查看GSI数据
>attach(Squid)
> GSI
筛选数据
data2 <-data[data$V6==2,]
y <- x[(x$Timeindex > 1000) & (x$Timeindex <5000), ]
x3 <- x2[(x2$date< as.Date("2015/1/5")),]
x2 <- x1[order(x1[,3]),]
R进行数据筛选
http://blog.163.com/xiaoji0106@126/blog/static/136134661201392532614464/
据框列的引用:
dn、d[,n]、d"name"、d[,"name"]、d$name 得到某一列组成的矢量。
d[n]、d["name"]得到某一列组成的数据框。
d[c(m,n,...)]、d[,c(m,n,...)]、d[,c("name1","name2",...)]得到若干列组成的数据框
其它技巧:负号表示剔除。
可以用 grep() 搜索变量名。比如 mydata[grep("^q",names(mydata))] 选择名称以“q”开头的数据列。
数据框行的引用:
d[n,] 得到某一行组成的数据框。
d[c(m,n,...),n] 得到若干行组成的数据框。
head() 得到前6行组成的数据框。
tail() 得到最后6行组成的数据框。
http://www.cnblogs.com/youxilua/archive/2012/01/12/2320455.html 比较高级的
http://www.360doc.com/content/13/1221/22/7440765_339121786.shtml 低级到高级
http://blog.sina.com.cn/s/blog_5de124240101q5vw.html R语言绘图渐进
http://blog.sina.com.cn/s/blog_6cfc336b01018wcg.html
http://www.cnblogs.com/holbrook/archive/2013/05/13/3075777.html
画图
输出数据
(1) R for Beginners(中文版).pdf
write.table(x1,file="E:\\Siemens\\TrafficData\\result().csv",append=FALSE,quote=FALSE,sep=",",eol="\n",na="NULL",dec=".",row.names=FALSE,col.names=TRUE)
(2)
cat()
http://blog.sina.com.cn/s/blog_5de124240101pwyv.html
Plot参数
http://blog.sina.com.cn/s/blog_6a02b6330101abn5.html
plot参数 一行多图
par(mfrow=c(2,3)) 一个图版显示2行,3列。Mfrow mfcol
http://www.biostatistic.net/thread-94936-1-1.html
R语言 图形交互操作 iplots 图形交互式包
http://www.cnblogs.com/speeding/p/4060500.html
# 日期要转换一下
fitbit$date <- as.Date(fitbit$date, "%Y年%m月%d日")
strptime(“”, format)
typeof(Sys.Date())
http://www.biostatistic.net/thread-7035-1-1.html
R语言:as.POSIXlt()函数中文帮助文档(中英文对照) 日期时间转换功能
http://www.cnblogs.com/speeding/p/4159264.html
在R语言里运行下面的命令:
Sys.setenv(JAVA_HOME='C:/Program Files(x86)/Java/jdk1.7.0_55/jre')
Sys.setenv(JAVA_HOME='D:/ProgramFiles/Java/jdk1.7.0_40/jre')
或者添加在配置文件R\R-3.1.2\etc\Rprofile.site中
32bits的R必须是32bits的JAVA.
http://blog.fens.me/r-rjava-java/
http://www.haodaima.net/art/2522754
JAVA 调用 R语言
1. 安装rJava - install.packages(“rJava”) - /rJava/jri/下会有3个JRI文件。
2. 系统环境变量设置:path添加
…\library\rJava\jri
…R\win-library\3.1\rJava\jri\x64
…\R\R-3.1.2\bin\x64
3. Java项目中导入3个JRI文件。
4. Eclipse运行设置添加 VM arguments: -Djava.library.path="C:\Users\zhangjiajie\Documents\R\win-library\3.1\rJava\jri\x64"
rJava Tomcat 配置
1) 三个jar包放在lib目录下;
2) \rJava\jri\i386\jri.dll 放在 \Tomcat8.0\bin\目录下;
拟合
线性回归
m <- lm(y~x1+x2+x3,data=dataframe) // m保存了回归模型
anova(m) //方差分析表
coef(m) //模型系数
confint(m) //回归系数的置信区间
deviance(m) //残差平方和
effects(m) //正交影响向量
fitted(m) //拟合y值的向量
residuals(m) //模型残差
resid(m) //模型残差
Summary(m) //R2,F统计量
vcov(m) //协方差矩阵
有交互项的线性回归
Lm(y~x1*x2) -> y = a*x1+b*x2+c*x1*x2+d
Lm(y~x1*x2*x3) ->
y =a*x1+b*x2+c*x3+d*x1*x2+e*x1*x2+f*x2*x3+g*x1*x2*x3+h
Lm(y~x1+x2+x3+x1:x2:x3) ->
y = a*x1+b*x2+c*x3+d*x1*x2*x3+e
setp逐步回归,可以向后回归移除无意义的变量,可以向前回归添加新的变量
Lm(y~x1, subset=1:100) 只选择前100条数据用于回归
Lm(y~I(x1+x2)) 对(x1+x2)回归
Lm(y~ploy(x,3,raw=TRUE)) y是x的三次方多项式回归
Lm( log(y) ~ x1 )
System.time(r_expression) // R运行时间
计算相关系数
http://www.biostatistic.net/thread-7287-1-1.htmlby
by(data, INDICES, FUN, ..., simplify = TRUE)
http://www.biostatistic.net/thread-7388-1-1.htmlcor
cor(data)
by(data, data$x, cor)
http://www.klshu.com/tag/r%E8%AF%AD%E8%A8%80/page/2
快乐树R语言
http://www.klshu.com/1798.html
http://www.klshu.com/1077.html
使用R完成决策树分类
http://www.klshu.com/1555.html
ggplot
http://www.klshu.com/1591.html
plot和ggplot2画图比较
http://www.klshu.com/1667.html
svm 模式识别,分类,回归分析
http://www.klshu.com/1430.html
apply函数家族
http://www.klshu.com/1202.html
http://www.klshu.com/1175.html
http://www.klshu.com/1188.html
http://www.klshu.com/1107.html
关联规则
http://www.klshu.com/1185.html
常用函数
http://www.klshu.com/1144.html
http://www.klshu.com/1147.html
R语言用Shiny包快速搭建交互网页应用
http://www.klshu.com/1073.html
数据挖掘函数集
http://www.klshu.com/1071.html
K-Means聚类数的查找
http://www.klshu.com/107.html基本
画图
三维画图
R代码规范
http://www.mamicode.com/info-detail-374357.html
R语言与数据分析之六:时间序列简单介绍
http://www.empowerstats.com/cn/download.html
下载易侕统计
http://yanping.me/shiny-tutorial/
中文教程:用R构建Shiny应用程序
http://book.51cto.com/art/201408/449427.htm
Xts
http://blog.csdn.net/desilting/article/details/39013825
ARIMA(p,d,q)模型, acf ,pacf
http://www.biostatistic.net/thread-6683-1-1.html
AIC信息准则
BIC信息准则
http://www.biostatistic.net/thread-40266-1-1.html
forecast包。 auto.arima():返回最佳ARIMA模型根据AIC,AICC或BIC值
diff(x,lag=n) #滞后差分,lag用以指定滞后几项。默认的lag值为1。
x<-c(1,5,23,29)
diff(x, lag=n) === c( x[1+n]-x[1], x[2+n]-x[2], x[3+n]-x[3] ,... )
http://blog.163.com/zzz216@yeah/blog/static/16255468420147179438149/
Dplyr 数据处理包
http://ju.outofmemory.cn/entry/84555
用lubridate包来处理时间数据
回归
http://www.cnblogs.com/luosha/archive/2012/06/30/2571542.html
线性回归 lm 及预测
http://www.douban.com/note/298285612/
lm 结果分析
http://www.biostatistic.net/thread-7433-1-1.html
线性回归 lm
summary查看了lm返回的结果。
在Residuals:中,我们可以看到的是一些关于残差的信息:最小最大值,4分位数等。Coefficients:中则是最为关键的对c和b的相关估计。其中Estimate是与b,c值的估计,Std. Error 则是回归参数b和c的标准差:sd(b), sd(c)。剩下的两个参数则是对回归参数的假设检验: t value是对b,c进行假设检验的t值,以及P-值(用来与显著性水平比较决定是否接受该阿假设检验)Pr(>|t|)。
最后我们还可以看到3个* 号,这表明x和y有非常显著的线性关系(*可以有0—3个,越多则线性关系越显著)。
lm.reg <- lm(final.data$flow ~final.data$minute);
summary(lm.reg);
# 画线 2种方法
lines(final.data$minute, fitted(lm.reg),col=5);
abline(lm.reg, col=5);
# 残差分析
lm.res<- residuals(lm.reg);
plot(lm.res);
# 输出诊断信息
par(mfrow=c(2,2));
plot(lm.reg);
http://www.dataguru.cn/article-5270-1.html
nls 分段函数,指数函数
预测
summary(auto.arima(z)) 结果分析
模型估计为ARIMA(4,0,2),即ARMA(4,2)
系数为:
ar1 ar2 ar3 ar4 ma1 ma2
-0.5505 0.2316 0.0880-0.4325 -0.1944 -0.5977
s.e. 0.1657 0.1428 0.1402 0.12700.1766 0.1732
s.e.是系数的标准差,系数显著性要自己算,|系数/se| > 1.96 即 95%的置信度
sigma^2 estimated 估计值方差
log likelihood 对数似然值
AIC=709.13 AICc=710.73 BIC=725.63
再就是下面一堆误差计算
ME\x05Mean Error
RMSE\x05Root Mean Squared Error
MAE\x05Mean Absolute Error
MPE\x05Mean Percentage Error
MAPE\x05Mean Absolute Percentage
MASE\x05Mean Absolute Scaled Error
http://www.biostatistic.net/thread-90363-1-1.html
Eacf() 计算样本扩展ACF(ESACF)