希望這不是一個太愚蠢的問題,但仍然是一個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