我试图在数据帧的特定列中替换一个值(例如总是1
)。列j
中给出了替换的列索引。根据给定索引用dplyr替换列中的值
它与一个循环:
data <- data.frame(v1 = rep(0, 10),
v2 = rep(0, 10),
j = sample(1:2, 10, replace = TRUE))
for (i in 1: nrow(data)){
data[i, (data$j[i])] <- 1
}
我要找的处理这种情况的dplyr
方式。
我没有downvote。但实际上我正在寻找处理这种情况的方式。只是出于好奇。 – Fritzbrause
@Fritzbrause我发布了来自tidyverse/dplyr家族的解决方案 – akrun
太棒了!谢谢。基本版本确实更容易。我更喜欢这个解决方案,因为它更容易适用于多个变量。 – Fritzbrause