R.b*_*ary 5 if-statement r vectorization conditional-statements
我尝试根据第三个变量的条件一次用另一个变量的值覆盖多个变量(一种日历中的月份)。如果条件为假,则什么也不会发生。
我认为If函数会有所帮助,因为可以省略else,但不能,它不适用于矢量。
DF1[,3:4] <- if (DF1$v7==5) {DFDF1$v5}
the condition has length > 1 and only the first element will be used
Run Code Online (Sandbox Code Playgroud)
另一方面,拟合向量是ifelse,但这告诉我
DF1[,3:4] <- ifelse (DF1$v7==5, DF1$v5, )
"argument "no" is missing, with no default",
Run Code Online (Sandbox Code Playgroud)
那么我应该怎么做才能实现自己的目标呢?
感谢您的任何建议,对我的初学者表示感谢!
PS:变量只是示例。
编辑:我正在寻找一种方法,在这里我可以解决应由DF1 [,3:4]中的列号替换的变量,因为否则我将不得不键入多达12个不同的变量名(在我的原始DF中)。
一栏接着一栏。对于else条件,直接使用原来的值即可
for (i in 3:4){
DF[,i] <- ifelse(DF$v7 == 5, DF1$v5, DF[,i])
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9392 次 |
| 最近记录: |