R 如果列满足条件,则将函数应用于DF

R 如果列满足条件,则将函数应用于DF,r,R,嗨,我有一个函数,如果列d满足条件,它需要在列(a,b,c)上运行 比如说 数据帧 A B C D 77.66 5.54 889 1 65.3 4.2 67 1 69.47 0.92 55 2 因此,如果列D==1,我想运行这个函数 sum_mean <- function (A,C){ sum(A*C)/sum(C) } sum\u意思是你可以试试 with(df, c(sum_m

嗨,我有一个函数,如果列d满足条件,它需要在列(a,b,c)上运行

比如说

数据帧

  A      B       C    D
77.66   5.54    889   1
65.3    4.2     67    1
69.47   0.92    55    2
因此,如果列D==1,我想运行这个函数

sum_mean <- function (A,C){ 
    sum(A*C)/sum(C)
    }
sum\u意思是你可以试试

  with(df, c(sum_mean(A,C), sum_sd(B,C))[D])
  #[1] 76.395341 76.395341  5.310653
或者使用
ifelse

  with(df, ifelse(D==1,  sum_mean(A,C),sum_sd(B,C)))
 #[1] 76.395341 76.395341  5.310653
  with(df, ifelse(D==1,  sum_mean(A,C),sum_sd(B,C)))
 #[1] 76.395341 76.395341  5.310653