【问题标题】:restructuring observations in RR中的重构观察
【发布时间】:2018-11-17 09:56:07
【问题描述】:

我正在努力重组我的 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" ...

感谢您的建议。

干杯

【问题讨论】:

    标签: r aggregate reshape


    【解决方案1】:

    我们可以使用data.table 中的melt 转换为“长”格式。通过在measure参数中指定模式,它可以采用多组列

    library(data.table)
    melt(setDT(df1), measure = patterns("^para", "^C\\d+"), 
                value.name = c("para", "Cval"))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-14
      • 1970-01-01
      • 2019-03-15
      • 2023-03-11
      • 1970-01-01
      • 2014-01-12
      • 1970-01-01
      相关资源
      最近更新 更多