访问dplyr中点(.)的先前定义/参考
如何在以下代码中引用打印函数中的整行:访问dplyr中点(.)的先前定义/参考,r,dplyr,R,Dplyr,如何在以下代码中引用打印函数中的整行: df %>% rowwise() %>% mutate_at(vars(cols), funs({ print(<REFERENCE_FULL_ROW_HERE>); . })) df%>% 行() 突变_at(vars(cols), funs({print();.})) 其中,cols是我要更改的列名向量。您可以尝试使用purr包中的pmap或pwalk。我发现这对解决这些问题非常有帮助 如果只
df %>%
rowwise() %>%
mutate_at(vars(cols),
funs({ print(<REFERENCE_FULL_ROW_HERE>); . }))
df%>%
行()
突变_at(vars(cols),
funs({print();.}))
其中,
cols
是我要更改的列名向量。您可以尝试使用purr
包中的pmap
或pwalk
。我发现这对解决这些问题非常有帮助
如果只想调用函数的副作用,而不想存储返回值,可以使用pwalk
使用解决方案。如果要存储返回值,请在mutate
调用中使用pmap
库(tidyverse)
普瓦克(
水头(mtcars,n=5),
函数(…){
cols[1]“6 21”
#> [1] "6 21"
#> [1] "4 22.8"
#> [1] "6 21.4"
#> [1] "8 18.7"
汽车争吵了%
变异(
结果=pmap(
.,
函数(…){
cols mpg cyl disp hp drat wt qsec vs am齿轮carb结果
#> 1 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 6 21
#> 2 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4 6 21
#> 3 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1 4 22.8
#> 4 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1 6 21.4
#> 5 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2 8 18.7
#> 6 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1 6 18.1
由(v0.2.1)创建于2019-04-08。您可以尝试使用
purr
包中的pmap
或pwalk
。我发现这对此类问题非常有用
如果您只想调用函数的副作用,而不想存储返回值,可以使用pwalk
使用解决方案。如果您想存储返回值,请在mutate
调用中使用pmap
库(tidyverse)
普瓦克(
水头(mtcars,n=5),
函数(…){
cols[1]“6 21”
#> [1] "6 21"
#> [1] "4 22.8"
#> [1] "6 21.4"
#> [1] "8 18.7"
汽车争吵了%
变异(
结果=pmap(
.,
函数(…){
cols mpg cyl disp hp drat wt qsec vs am齿轮carb结果
#> 1 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 6 21
#> 2 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4 6 21
#> 3 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1 4 22.8
#> 4 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1 6 21.4
#> 5 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2 8 18.7
#> 6 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1 6 18.1
由(v0.2.1)创建于2019-04-08这看起来非常像XY问题。我认为没有任何(好的)这是一种完全满足您要求的方法。但是如果您告诉我们更大的问题,我认为我们可以帮助您解决它。您想要的输出是什么?我几乎用
.data
代词解决了它,但我无法用.data[[cols]]引用我需要的所有列
,它给了我一个错误。这看起来很像一个XY问题。我认为没有(好的)这是一种完全满足您要求的方法。但是如果您告诉我们更大的问题,我认为我们可以帮助您解决它。您想要的输出是什么?我几乎用.data
代词解决了它,但我无法用.data[[cols]]
引用我需要的所有列,这给了我一个错误。