• R语言
  • 请教取data.frame的subset时遇到的问题

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>