df10 <- data.frame(name=c("a","b","c","d"),value=c(1,2,3,4))
name1 <- c("a","d")
name2 <- c("d","a")
sum(df10[df10$name==name1,2])
sum(df10[df10$name==name2,2])
如上,计算第一个sum可以得到正确结果,第二个会出错,请问第二个sum怎么才能得到正确结果,谢谢!
df10 <- data.frame(name=c("a","b","c","d"),value=c(1,2,3,4))
name1 <- c("a","d")
name2 <- c("d","a")
sum(df10[df10$name==name1,2])
sum(df10[df10$name==name2,2])
如上,计算第一个sum可以得到正确结果,第二个会出错,请问第二个sum怎么才能得到正确结果,谢谢!
采用match函数吧
sum(df10[match(name2,df10$name),2])
</p>把==改成%in%即可
搞定,非常感谢!