如何在测量中使用字符串的向量.在R中融化的向量



我有一个data.csv文件,如下所示:

BBBB,  B, OOB 
CCCC,  C, OOC
DDDD,  D, OOD
EEEE,  E, OOE

我获得了第二列为:

df1 <- read.csv(data, header=FALSE,strip.white=TRUE,stringsAsFactors=FALSE)[2].

问题是,我如何在melt函数中使用df1作为c("B"、"c"、"D"、"E(",将df1用作不同数据集的measure.var(例如,data2的标头为B、c、D、E(。

B,C,D,E
9.43,9.49,9.61,9.04

7.01,3.43,3.63,3.55
10.35,9.05,9.49,8.45
4.83,1.89,1.79,1.94
10.3,10.39,9.67,8.95

我想用作:

df2 = data.frame(melt(data2, measure.vars=df1, variable.name=xxxx, value.name="yyyy"), m="zzzz")

如果我们使用没有任何,[,那么它仍然是一个有单列的data.frame(假设原始数据集是data.frame。更好的选择是[[作为向量提取,measure参数需要vector。最好用unique包装(如果有重复(

v1 <- unique(read.csv('file.csv', header=FALSE,strip.white=TRUE,stringsAsFactors=FALSE)[[2]])

现在,我们在measure中使用它

library(reshape2)
df2 <- data.frame(melt(data2, measure.vars=v1, variable.name='xxxx', 
value.name="yyyy"), m="zzzz")

最新更新