r - 将 R 数据框中的行值转换为列值,其中 1 表示存在,0 表示不存在

标签 r dataframe

我想要做的是转换这种格式的数据:

ID    Date          CODE
5567  2012-09-02    F17
5567  2012-10-15    F17
5567  2012-11-11    Z49
1245  2010-09-02    Z49
6623  2012-10-15    T65
6623  2012-11-11    Z49

采用这种格式:

ID    F17  Z49  T65
5567  1    1    0
1245  0    1    0
6623  0    1    1

请注意,我不关心“日期”,也不关心特定代码与 ID 关联的次数。我只关心某个 ID 是否有与其关联一次或多次的代码。即 1 = 是,0 = 否。

最佳答案

您可以在此处使用 data.table 中的 dcast:

dcast(dt, ID ~ CODE, fun.aggregate = function(x) 1L, fill = 0L)
     ID F17 T65 Z49
1: 1245   0   0   1
2: 5567   1   0   1
3: 6623   0   1   1

数据

library(data.table)
dt <- fread("ID    Date          CODE
5567  2012-09-02    F17
5567  2012-10-15    F17
5567  2012-11-11    Z49
1245  2010-09-02    Z49
6623  2012-10-15    T65
6623  2012-11-11    Z49")

关于r - 将 R 数据框中的行值转换为列值,其中 1 表示存在,0 表示不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63061971/

相关文章:

r - 计算R中数据帧的相关性

linux - 在 Windows/Linux 中创建 Mac 包

r - 分解栅格导致磁盘空间不足

R将线性模型传递给函数内的另一个函数

python-3.x - 从另一个数据帧搜索(行值)数据

python - 如何在一次热编码后聚合行

r - 动态显示仪表板页面

r - 将 TukeyHSD 比较(第一列)分离到新的数据框中。将一列分成两列

dataframe - Julia 数据帧以纯格式写入 csv

Python 数据框