今天收到一封邮件,来询问这样的问题:
这样的邮件,是直接的邮件,没有寒暄直奔主题的邮件。唯一的遗憾是不知道是谁写的……
如果我理解的没有错误的话,写信人的需求应该是这个样子的:
他的原始数据:
处理后想要得到的数据:
处理代码:
set.seed(123) dd = data.frame(ID = 1:10,y1=rnorm(10),y2=rnorm(10),y3=rnorm(10),y4=rnorm(10)) dd library(data.table) melt(dd,id=1)代码解释:
1,dd为模拟生成的数据框数据,第一列为ID,其它几列为性状
2,使用的函数为data.table包中的melt函数
3,melt中,dd为对象数据框,id为不变的列数,这里是ID一列,列数所在的位置为1,其它几列都变成一列,然后列名变为行名。
来信者需求:
怎么用R语言把表格CSV文件中的数据变成一列,并且行名为原列名呢,谢谢
1,csv文件,可以用fread函数读取,命名,为dd
2,数据变为一列,如果没有ID这一列,全部都是性状,可以这样运行:melt(dd),达到的效果如下:
所以,就是一个函数melt的应用。
---来自腾讯云社区的---邓飞
微信扫一扫打赏
支付宝扫一扫打赏