我有一个 csv 文件,每个唯一 id 有多行,我需要将其格式化为数据帧的单行。读入此文件后,我得到了一个初始数据框:
id week v1 v2
01 week1 3 2
01 week2 5 2
01 week3 2 3
02 week1 1 2
02 week2 5 5
03 week1 4 1
03 week2 4 3
03 week3 4 2
[etc...]
我想为给定的 id 提取 v1 的所有实例,所以我获取所有唯一的 id
uniqid<-unique(data$id)
然后从 1:length(uniqid) 遍历这些
temp <- subset(data,data$id==uniqid[i])
并将每周数据拉入临时变量
week1 <- temp$v1[temp$week=="week1]
所以我可以使用 rbind 改造数据框
output <- rbind(output,data.frame(ID=uniqid[i],week1,week2,week3))
我的问题是,例如 id=02,没有 week3,所以 rbind 中断。似乎从未创建 week3 变量;它不显示为 NA。如何测试变量是否已创建并将其设置为 NA (或 0),以便 rbind 不会失败?还是有完全不同/更有效的方法来实现这一点?