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