r - 在 R 中有一列具有 205550 个值,并且想要 10 列,其中值 1 进入第 1 列,值 2 进入第 2 列等
问题描述
我的数据框目前看起来像这样:
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
如果有人有任何有用的建议,请告诉我。谢谢你。
解决方案
这是使用 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)
推荐阅读
- android - 更新我的 gradle 构建文件以运行 nes 旧游戏的目标 sdk 28 失败
- swift - 我们应该在 CKDatabase 和 CKRecordZone 中分别缓存一个 CKServerChangeToken 吗?
- sql-server - 如何摆脱以下错误?从字符串转换日期失败
- android - 运行 npm start 时,缺少启动
- python - 如何运行一个继续服务的本地主机,直到关键字停止它,全部来自 .py 文件?
- python - Tesseract OCR:检测非白色背景
- amazon-web-services - 将 Parquet 文件加载到 Redshift
- google-apps-script - 如何登录富达网站并在其中导航?
- python - 调整正则表达式以匹配消息开头的字符串 *only*
- nginx - NGINX Rewrite 被忽略/不使用 proxy_pass