我正在努力重构我的data.frame。对于多响应PLS 我想在两个单独的观察中将所有Para和所有C分组 目前它看起来像
Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 50 obs. of 32 variables:
$ Para.PL : num 3 0 5 0 8 0 17 0 22 0 ...
$ Para.PH : num 0 0 0 0 0 0 0 0 0 0 ...
$ Para.S : num 0 0 0 0 0 0 0 0 0 0 ...
$ C16 FA : num 8.89 9.75 8.23 9.6 10 ...
$ C18:0 FA : num 0 0 0 0 0 0 0 0 0 0 ...
$ C23 n-alkane : num 3.76 3.22 6.55 5.05 5.4 ...
$ C24 n-alkane : num 1.435 0.315 2.826 0.276 4.075 ...
$ C25 n-alkane : num 17.5 15.7 15.6 11.6 22.7 ...
$ C26 n-alkane : num 3.796 0.747 6.318 0.877 9.144 ...
我的目标是这样的结构
'data.frame': 16 obs. of 2 variables:
$ chemical: 'AsIs' num [1:16, 1:5] 0.73 0.19 0.26 0.67 0.52 0.26 0.24 0.3 0.35 0.19 ...
..- attr(*, "dimnames")=List of 2
.. ..$ : chr "G1" "G2" "G3" "G4" ...
.. ..$ : chr "Acidity" "Peroxide" "K232" "K270" ...
$ sensory : 'AsIs' num [1:16, 1:6] 21.4 23.4 32.7 30.2 51.8 40.7 53.8 26.4 65.7 45 ...
..- attr(*, "dimnames")=List of 2
.. ..$ : chr "G1" "G2" "G3" "G4" ...
.. ..$ : chr "yellow" "green" "brown" "glossy" ...
感谢任何建议。
干杯
答案 0 :(得分:0)
我们可以使用melt
中的data.table
转换为' long'格式。通过在measure
参数
library(data.table)
melt(setDT(df1), measure = patterns("^para", "^C\\d+"),
value.name = c("para", "Cval"))