今天收到一封邮件,来询问这样的问题: 这样的邮件,是直接的邮件,没有寒暄直奔主题的邮件。唯一的遗憾是不知道是谁写的…… 如果我理解的没有错误的话,写信人的需求应该是这个样子的: 他的原始数据: 处理后想要得到的数据: 处理代码: 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的应用。 其它关于写信询问解决方案并被我变为微信文的历史微信文(同义反复的修持手法!):
|
|