tolower(x) toupper(x)
casefold(x,upper = FALSE)
For (iin 1:10)
日期格式与整数的转换:假设x是日期格式,y是数值 y=as.numeric(x) //将日期x转为数值y class(y)='Date' //将数值y转为日期
Rhadoop:
先安装hadoop,然后在R设置HADOOP_CMD,HADOOP_STREAMING环境,安装rhdfs和rmr2包,缺什么依赖包就安装什么依赖包(尽量不要在RStduio下安装)
keyval(key,val)//创建
to.dfs(kv,output = dfs.tempfile(), format = \上传pair到hdfs
from.dfs(input,format = \读取hdfs的pair,eg:from.dfs(to.dfs(1:10)) hdfs.ls('/usr/local/hadoop')//查看hdfs文件
mapreduce(input,output=NULL,map,reduce)//input是hdfs上的路径,ouput为NULL时返回一个big.data.object(可以理解为一个hdfs上的临时文件可供其它函数使用),map接收
word(string,start=1,end=start,sep=\字符串提取函数(包stringr中),string是原始字符串,start表示以sep分割的第start个串开始,end表示以sep分割的第end个串结束,比如word(\返回world##c++,sep可以是个字符串(这点比boost库split都优秀啊)
rmr.options(backend= 'hadoop')//使用rmr的hadoop格式,hadoop是默认设置。
merge函数用于合并两个数据框类似于sql中的join
merge(x,y, by = intersect(names(x), names(y)),by.x= by, by.y = by, all = FALSE, all.x = all, all.y =
all,sort = TRUE,suffixes = c(\默认是合并x和y相同名字的列,
26
可以通过by.x和by.y指定x和y按哪列合并。all是逻辑参数为T表示内连接(即x和y指定的列完全相同才可以连接),all.x表示做链接,all.y表示右链接。如:
merge(x,y,by.x=1,by.y=2,all.y=T)//按照x的第一列和y的第二列为关键字合并数据框,并且保留y的所有行,x缺失的用NA代替(rightjoin)
27