Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/68.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:如何将if语句条件设置为仅在整列等于某个值时触发?_R - Fatal编程技术网

R:如何将if语句条件设置为仅在整列等于某个值时触发?

R:如何将if语句条件设置为仅在整列等于某个值时触发?,r,R,假设我有一个数据帧列表。在每个数据帧中,都有一列,我想在其中创建一个新的虚拟列。这就是它的工作原理。为了简单起见,让我们在示例中使用向量而不是数据帧 vect<-c(0, 0, 100, 100, 0, 0) vect取绝对值,反向输入,取累积和。最后,将0值更改为TRUE、reverse并转换为numeric vect <- c(0, 0, 100, 100, 0, 0) +rev(cumsum(rev(abs(vect))) == 0) ## [1] 0 0 0 0 1 1

假设我有一个数据帧列表。在每个数据帧中,都有一列,我想在其中创建一个新的虚拟列。这就是它的工作原理。为了简单起见,让我们在示例中使用向量而不是数据帧

vect<-c(0, 0, 100, 100, 0, 0)

vect取绝对值,反向输入,取累积和。最后,将0值更改为TRUE、reverse并转换为numeric

vect <- c(0, 0, 100, 100, 0, 0)

+rev(cumsum(rev(abs(vect))) == 0) 
## [1] 0 0 0 0 1 1

+rev(cumsum(rev(abs(0*vect))) == 0)   # 0*vect is all 0 input
## [1] 1 1 1 1 1 1

vect刚刚在if语句中找到一个条件,该条件看起来好像正在工作

if(all(df$x == 0){
df$dummy_col = 1
}else{
The code that does the process for all other cases...
}
vect <- c(0, 0, 100, 100, 0, 0)

+rev(cumsum(rev(abs(vect))) == 0) 
## [1] 0 0 0 0 1 1

+rev(cumsum(rev(abs(0*vect))) == 0)   # 0*vect is all 0 input
## [1] 1 1 1 1 1 1
if(all(df$x == 0){
df$dummy_col = 1
}else{
The code that does the process for all other cases...
}