data <- data.frame(A = c(1:4), B = c(10:13), C = c(19:22))
我想计算1 / A + 1 / C行
df$calc <- apply(data, 2, function(x) sum(1/x[,c(1,3)])
Error in x[, c(1, 3)] : incorrect number of dimensions
我不知道为什么我在
时会出现错误fun<- function(x){
f <- sum(1/x[,c(1,3)])
return(f)
}
fun(data[1,])
1.052632
无问题地工作
答案 0 :(得分:0)
我们可以rowSums
进行矢量化
data$calc <- rowSums(1/data[c("A", "C")])
或另一种有效的选择是
Reduce(`+`, 1/data[c("A", "C")])
答案 1 :(得分:0)
我相信
df <- apply(data, 1, function(x) sum(1/x[c(1,3)]))
是你想要的