R语言中的data.table框架
可能是我对pandas和numpy的组合不太熟悉,但是R语言对于表格数据的处理有相应的格式,封装的很好,data.table基本上是从data[i,j,by=‘ ’] :在满足i子集的条件下,通过by的分组,对列j进行处理。
但是,格式的固定,并没有限制处理情况的多样化:
diandongbang_fix2[,temp:={
temp2=unique(unlist(tstrsplit(temp,'')))
temp2=temp2[!temp2 %in% c(' ','(',')')]
temp2=paste0(temp2,collapse='|')
temp2
},by=.(id)]
在使用data.table框架时,编写函数不可以使用if语句,因为传进来的是一个boolean型的向量,放在一个if()里面进行判断,是不可运行的。
若是对一张表有if操作,可以多写几个语句,使用data[ ]中的第一个参数进行子集筛选,进行操作。
另外,对于目前自己来说,所做的一些事情,及本所需要的罗列在下面几点:
-
使用接口来获取数据,getfromSQL94_where[database,table,where_suffix=" "]
-
使用merge()函数来对所获取的数据进行连接
merge(data1,data2,by.x= ,by.y= [,all.x=T])
all,all.x,all.y:指定x和y的行是否应该全在输出文件.即实现左连接,右连接,内连接,外连接等操作。 -
setnames( c( ),c( ) )对相应列名操作,并更换列名。
-
最后 write.csv( )即可。