我想要做的是转换这种格式的数据:
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/