我的数据如下所示:
Var1 Var1234 Var234 Var123456 Var12345678
A 26 19 23 19
B 25 10 11 27
C 21 19 21 11
D 29 18 22 26
E 16 27 11 10
放置奇怪的变量名称的原因是为了表明变量长度不相同。我想将此数据转换为以下形状:
Var1 Var_names Values
A Var1234 26
B Var1234 25
C Var1234 21
D Var1234 29
E Var1234 16
A Var234 19
B Var234 10
C Var234 19
D Var234 18
E Var234 27
A Var123456 23
B Var123456 11
C Var123456 21
D Var123456 22
E Var123456 11
A Var12345678 19
B Var12345678 27
C Var12345678 11
D Var12345678 26
E Var12345678 10
我正在尝试以下代码:
new_data <- reshape2::melt(old_data, id = "Var1")
但是它给出了以下错误:
Using var1 as id variables
Error in match.names(clabs, names(xi)) :
names do not match previous names
使用的重塑功能:
new_data <- reshape(old_data, direction ="long", varying = list(names(old_data)[2:ncol(old_data)]), v.names="Value", idvar = "Var1")
错误:
Error in `row.names<-.data.frame`(`*tmp*`, value = paste(d[, idvar], times[1L], :
invalid 'row.names' length
我遵循this选项,但它对我没有帮助。
有谁能告诉我如何解决这个问题?
谢谢!