R 为给定条件的数据帧元素创建新变量
我有一个数据框,看起来像这样:R 为给定条件的数据帧元素创建新变量,r,R,我有一个数据框,看起来像这样: X <- structure(list(PRCP12 = c(0L, 0L, 0L, 0L, 0L, 0L, 61L, 0L, 0L, 8L), PRCP13 = c(0L, 0L, 480L, 0L, 0L, 0L, 310L, 30L, 0L, 0L), PRCP14 = c(0L, 0L, 61L, 150L, 0L, 0L, 99L, 0L, 0L, 0L), PRCP15 = c(0L, 0L, 0L, 33L, 0L, 0L
X <- structure(list(PRCP12 = c(0L, 0L, 0L, 0L, 0L, 0L, 61L, 0L, 0L,
8L), PRCP13 = c(0L, 0L, 480L, 0L, 0L, 0L, 310L, 30L, 0L, 0L),
PRCP14 = c(0L, 0L, 61L, 150L, 0L, 0L, 99L, 0L, 0L, 0L), PRCP15 = c(0L,
0L, 0L, 33L, 0L, 0L, 3L, 0L, 0L, 0L), PRCP16 = c(0L, 3L,
0L, 0L, 0L, 3L, 5L, 0L, 3L, 0L), PRCP17 = c(0L, 0L, 0L, 3L,
0L, 3L, 0L, 0L, 0L, 0L), PRCP18 = c(0L, 0L, 0L, 3L, 0L, 0L,
8L, 0L, 0L, 0L), PRCP19 = c(0L, 0L, 0L, 71L, 0L, 0L, 231L,
0L, 0L, 0L)), .Names = c("PRCP12", "PRCP13", "PRCP14", "PRCP15",
"PRCP16", "PRCP17", "PRCP18", "PRCP19"), row.names = c(NA, 10L
), class = "data.frame")
X您想要这样的东西:
X <- structure(list(PRCP12 = c(0L, 0L, 0L, 0L, 0L, 0L, 61L, 0L, 0L,
8L), PRCP13 = c(0L, 0L, 480L, 0L, 0L, 0L, 310L, 30L, 0L, 0L),
PRCP14 = c(0L, 0L, 61L, 150L, 0L, 0L, 99L, 0L, 0L, 0L), PRCP15 = c(0L,
0L, 0L, 33L, 0L, 0L, 3L, 0L, 0L, 0L), PRCP16 = c(0L, 3L,
0L, 0L, 0L, 3L, 5L, 0L, 3L, 0L), PRCP17 = c(0L, 0L, 0L, 3L,
0L, 3L, 0L, 0L, 0L, 0L), PRCP18 = c(0L, 0L, 0L, 3L, 0L, 0L,
8L, 0L, 0L, 0L), PRCP19 = c(0L, 0L, 0L, 71L, 0L, 0L, 231L,
0L, 0L, 0L)), .Names = c("PRCP12", "PRCP13", "PRCP14", "PRCP15",
"PRCP16", "PRCP17", "PRCP18", "PRCP19"), row.names = c(NA, 10L
), class = "data.frame")
X@Christian Borck+@Richard Scriven的答案非常适合我想做的事情
X2 <- cbind(X, (X > 0.254) * 1)
names(X2) <- c(names(X), paste0("R", gsub("[^0-9]", "", names(X))))
X2 0.254)*1)
名称(X2)是否需要将新的0 1变量粘贴到源DF?下一步你打算用它做什么?是的,我需要它在同一个数据帧中。我要做一些回归,我喜欢亨里克的方法<代码>X 0.254)*1)
提供完整的所需数据帧。现在需要做的就是使用colnames
名称(X2)更改列名
X2 <- cbind(X, (X > 0.254) * 1)
names(X2) <- c(names(X), paste0("R", gsub("[^0-9]", "", names(X))))