我有一个包含多个x
列和y
列的大型数据集,但下面显示了一个包含5列的示例
library(dplyr)
set.seed(505)
df <- data.frame(
x1 = sample(-2 : 4,size = 10, replace = TRUE),
x2 = sample(-2 : 4,size = 10, replace = TRUE),
x3 = sample(-2 : 4,size = 10, replace = TRUE),
x4 = sample(-2 : 4,size = 10, replace = TRUE),
x5 = sample(-2 : 4,size = 10, replace = TRUE),
y1 = sample(-2 : 4,size = 10, replace = TRUE),
y2 = sample(-2 : 4,size = 10, replace = TRUE),
y3 = sample(-2 : 4,size = 10, replace = TRUE),
y4 = sample(-2 : 4,size = 10, replace = TRUE),
y5 = sample(-2 : 4,size = 10, replace = TRUE))
我的任务可以通过下面的代码来实现
df |> mutate(
sum1 = x1 * as.numeric(x1 > -1 & y1 > -1) +
x2 * as.numeric(x2 > -1 & y2 > -1) +
x3 * as.numeric(x3 > -1 & y3 > -1) +
x4 * as.numeric(x4 > -1 & y4 > -1) +
x5 * as.numeric(x5 > -1 & y5 > -1)
因为我有25个x
和y
个变量,我的问题是:有没有更好的方法来实现同样的目标?