希望这不是一个太愚蠢的问题,但仍然是一个R初学者我有一个严重的问题与tapply。比方说如何使用tapply并保存值的顺序
factors <- as.factor(c("a", "b", "c", "a", "b", "c", "a", "b", "c"))
values <- c(1, 2, 3, 4, 5, NA, 7, NA, NA)
tapply(
values,
factors,
function(x){
if(sum(is.na(x)) == 1){
x[ is.na(x) ] <- 0
}
return(x)
}
)
结果是
$a
[1] 1 4 7
$b
[1] 2 5 0
$c
[1] 3 NA NA
不过,我需要的是得到一个向量回其保留值的原始顺序,即:
c(1,2,3,4,5,NA,7,0,NA)
很多感谢提前。
这是我在stackoverflow上的第一个问题,我对快速h elp我得到了。非常感谢所有人。 – Beasterfield 2011-05-24 00:50:55
这是因为你的问题很清楚,包含所有相关的信息和数据。 – Marek 2011-05-24 08:13:19