R使用字符串重塑[重复]。

问题描述 投票:0回答:1

我有这个数据

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'))

但它不工作

r string reshape grepl
1个回答
0
投票

我们可以使用 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')
© www.soinside.com 2019 - 2024. All rights reserved.