Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/67.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
ifelse按列在r中的位置-列名未知_R_Dplyr - Fatal编程技术网

ifelse按列在r中的位置-列名未知

ifelse按列在r中的位置-列名未知,r,dplyr,R,Dplyr,我想在dplyr::mutate()调用中使用ifelse(),但我不一定知道列名。虽然,这个专栏永远是第一个专栏,所以我知道它的位置。我有办法做到这一点吗 Reprex使用列名: 库(dplyr,warn.conflicts=FALSE) tibble(x=1:10,y=rnorm(10))%>% 突变(z=ifelse(x#tibble:10 x 3 #>x y z #> #>1.03 a #>2-0.600 a #>3 0.0364 a #>4 0.986 b #>5-0.

我想在
dplyr::mutate()
调用中使用
ifelse()
,但我不一定知道列名。虽然,这个专栏永远是第一个专栏,所以我知道它的位置。我有办法做到这一点吗

Reprex使用列名:

库(dplyr,warn.conflicts=FALSE)
tibble(x=1:10,y=rnorm(10))%>%
突变(z=ifelse(x<4,“a”,“b”))
#>#tibble:10 x 3
#>x y z
#>        
#>1.03 a
#>2-0.600 a
#>3 0.0364 a
#>4 0.986 b
#>5-0.815 b
#>6 0.166 b
#>7-0.607 b
#>8-0.719 b
#>9 0.799 b
#>10-0.947 b
由(v0.3.0)于2020年3月30日创建

现在我需要做同样的事情,使用列位置(1)。例如:
ifelse(**位置1**<4,“a”,“b”)


这必须在
dplyr::mutate
调用中。

使用
[[i]]
在索引
i
中引用列

tibble(x=1:10,y=rnorm(10))%>%
变异(z=ifelse([1]]<4,“a”,“b”))
#>#tibble:10 x 3
#>x y z
#>        
#>1 10.255 a
#>2-0.0805 a
#>3-0.553 a
#>4-0.492 b
#>5-1.80 b
#>6 0.199 b
#>7-0.397 b
#>8 1.06 b
#>9 1.72 b
#>10-0.248B

您可以直接使用数据框后面的括号,通过索引而不是名称引用列

例如,
ifelse(df[1]<4,“a”,“b”)