【问题标题】:Having one column in R with 205550 values, and wanting 10 columns where value 1 goes to column 1, and value 2 goes to column 2 etc在 R 中有一列具有 205550 个值,并且想要 10 列,其中值 1 进入第 1 列,值 2 进入第 2 列等
【发布时间】:2021-04-25 22:16:50
【问题描述】:

我的数据框目前看起来像这样:

        pred
        0.01
        0.01
        0.01
        0.01
        0.01
        0.01
        0.01
        0.01
        0.01
        0.91

其中有 205550 个值,其中第 1:10 行应适用于观察 1,第 11:20 行应适用于观察 2,依此类推。所以我正在寻找一种将数据表变成这样的方法:

       V1    V2      V3      V4     V5     V6     V7     V8     V9     V10
       0.01  0.01    0.01    0.01   0.01   0.01   0.01   0.01   0.01   0.01

如果有人有任何有用的建议,请告诉我。谢谢。

【问题讨论】:

  • 你需要df1 <- as.data.frame(matrix(dat$pred, ncol = 10, byrow = TRUE))
  • 它告诉我这个错误,“工作$pred 中的错误:$ 运算符对原子向量无效
  • 没关系,我成功了,非常感谢

标签: r multiple-columns data-manipulation


【解决方案1】:

这是使用 dplyr 包的稍微不同的解决方案。首先,我制作未来的“行”,然后是未来的列。然后我使用 pivot_wider 函数“旋转”表格。

dat<-data.frame(pred=1:10000) 


df1<-dat %>%
  mutate(row=ceiling(row_number()/10)) %>%
  mutate(col=paste0("V",row_number() %%10)) %>%
  pivot_wider(names_from = col, values_from=pred) %>%
  select(-row)

【讨论】:

    猜你喜欢
    • 2021-12-27
    • 2012-10-30
    • 2016-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-02
    相关资源
    最近更新 更多