-2
當我由R實現COUNTIF和SUMIF, 我總是用sapply功能和表函數是這樣的:有效的方法是如何實現SUMIF和COUNTIF R中
symbol = letters[sample(1:3, 5, replace=TRUE)]
df=data.frame(a=symbol,
b=seq_len(length(symbol)))
#sumif
summary=data.frame(key=unique(df$a))
summary$sum=sapply(
seq_len(nrow(summary)),
function(i) with(df, sum(df$b[a==summary$key[i]]))
)
#countif
countif = data.frame(
key=names(table(df$a)),
count=as.vector(table(df$a))
)
summary = merge(
summary,
countif,
c("key")
)
有沒有什麼有效的方法?