Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 为给定条件的数据帧元素创建新变量_R - Fatal编程技术网

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))))