r - 在R中将(半)长格式更改为宽格式
问题描述
我需要在 R studio 中将数据集从(半)长格式重塑为宽格式
我的数据集如下所示:
number letter
1 A
2 B
2 C
3 D
3 C
3 A
我需要将其更改为:
number letter1 letter2 letter3
1 A
2 B C
3 D C A
reshape 不起作用,因为我没有像 letter1 2 3 等这样的时间变量
解决方案
使用dcast()
来自data.table
:
library(data.table)
dcast(df, number ~ paste0("letter", rowid(number)), value.var = "letter")
# number letter1 letter2 letter3
# 1 1 A <NA> <NA>
# 2 2 B C <NA>
# 3 3 D C A
数据
df <- data.frame(
number = c(1L, 2L, 2L, 3L, 3L, 3L),
letter = c("A", "B", "C", "D", "C", "A")
)
推荐阅读
- r - 重塑数据集
- mongodb - 在mongodb [嵌套数组]中更新数组嵌入文档的数组嵌入文档的方法是什么?
- python - 将颜色通道的值从图像的 numpy 数组更改为特定值
- json - 如何在 Swift 中解码继承的类数组
- javascript - 函数在 FIrefox ( Javascript ) 中返回无效答案
- flutter - 从 FlatButton 迁移到 TextButton 时如何指定 disabledTextColor
- flutter - Riverpod:输入'_InternalLinkedHashMap
' 不是类型 'Map 的子类型 ' 的 ' 价值 ' 颤振 - javascript - 如何修复 javascript 中的 429 API 请求错误?
- javascript - 如果没有文件怎么做它什么也不做
- sql - 如何排除闪回查询结果集中未更改的字段?