【发布时间】:2012-11-01 11:53:21
【问题描述】:
我有一个包含多组样本点的数据框:
samplePoint<-c("1","1","1","1","2","2","2","2","3","3","3","3")
category<-c("a", "a", "a", NA, "b", "b", NA, "b", NA, "a", "a", "a")
values<-c(0.51, 0.21, 0.31, 0.22, 0.61, 0.71, 0.52, 0.32, 0.23, 0.1, 0.24, 0.33)
dat<-data.frame(samplePoint, category, values)
我需要重新编码 dat$category 中的 NA,以便稍后在此过程中使用。每个样本点只有一个类别:1 应该都是“a”,2 = “b”,3 =“a”。
我尝试使用 ifelse 函数进行聚合,打算使用匹配或查找类型函数重新编码:
codeList<-aggregate(
dat$category, by=list(dat$samplePoint),
FUN=function(x){ifelse(length(which(x=="a")) > length(which(x=="b")), "a", "b")}
)
问题 1 是,我该如何解决匹配问题? 问题 2 是我把整个事情完全复杂化了吗?
感谢您的帮助。
【问题讨论】:
标签: r