R 使用字符串重塑
R Reshape Using String
我有这个数据
data=data.frame(GROUP=c(1,2), a.q.var=c(5,4), b.w.var=c(7,8),
c.e.var=c(2,3))
但我想要通过“.var”重塑的数据
data2=data.frame(VARIABLE=c('a.q.var','b.w.var','c.e.var','a.q.var','b.w.var','c.e.var'),
VALUE=c(5,7,2,4,8,3),
GROUP=c(1,1,1,2,2,2))
我尝试的是:
library(reshape2)
data2 = reshape(data, id.var = grep('$.var'))
但是没用
我们可以使用pivot_longer
library(tidyr)
pivot_longer(data, cols = -GROUP, names_to = 'VARIABLE', values_to = 'VALUE')
或者用data.table
library(data.table)
melt(setDT(data), id.var = 'GROUP', variable.name = 'VARIABLE', value.name = 'VALUE')
我有这个数据
data=data.frame(GROUP=c(1,2), a.q.var=c(5,4), b.w.var=c(7,8),
c.e.var=c(2,3))
但我想要通过“.var”重塑的数据
data2=data.frame(VARIABLE=c('a.q.var','b.w.var','c.e.var','a.q.var','b.w.var','c.e.var'),
VALUE=c(5,7,2,4,8,3),
GROUP=c(1,1,1,2,2,2))
我尝试的是:
library(reshape2)
data2 = reshape(data, id.var = grep('$.var'))
但是没用
我们可以使用pivot_longer
library(tidyr)
pivot_longer(data, cols = -GROUP, names_to = 'VARIABLE', values_to = 'VALUE')
或者用data.table
library(data.table)
melt(setDT(data), id.var = 'GROUP', variable.name = 'VARIABLE', value.name = 'VALUE')