R.dataframe常用操作
(2018-09-20 08:47:52)| 分类: Analytics |
在使用R做数据挖掘时,最常用的数据结构莫过于dataframe了,下面列出几种常见的dataframe的操作方法。
1,查看数据
2,合并数据
(1)data.frame(x,y)
x,y是dataframe或者一列数据,x和y的行数一样,该操作得到一个新的dataframe,该dataframe是x和y拼合而成,行数与x/y的行数相同,列数为x和y的列数和。
例
(1)merge
1)melt(data, id.vars,
measure.vars)
data以id.vars指定的列为key,将measure.vars指定的列做拆分,以前的key->a1,a2,...aN
拆成 key->a1, key->a2, ...,
key->aN。在拆分的时候增加一个label,表明a1,a2,...,aN来源于以前的data中的哪一列。
例:df是一个dataframe,包含x,y坐标,对应的label,以及用logit和svm预测的结果,我们希望按照x,y把一行数据按照label,logit,svm拆成三行数据,分别用不同的标号代表来源于label、logit还是svm,然后用另外一个标号表示原来label,logit,svm的取值,因此原来2500行的数据会被拆分成7500个(2500*3),同时原来5列变量变成4列变量(x,y,值来源于哪一列,该列的取值)
> head(df)
1 0.2655087
0.52601906
2 0.3721239
0.07333542
3 0.5728534
0.84974175
4 0.9082078
0.42305801
5 0.2016819
0.98809607
6 0.8983897
0.47887413
> dim(df)
[1]
2500
> predictions <- melt(df, id.vars = c('X', 'Y'))
> head(predictions)
1 0.2655087
0.52601906
2 0.3721239
0.07333542
3 0.5728534
0.84974175
4 0.9082078
0.42305801
5 0.2016819
0.98809607
6 0.8983897
0.47887413
> dim(predictions)
[1]
7500
> table(predictions$variable)
Label
Logit

加载中…