map_dfr:使用字符串标签填充.id列,而不是使用未命名.x的索引

map_dfr:使用字符串标签填充.id列,而不是使用未命名.x的索引,r,purrr,R,Purrr,我想在map\u dfr的输出中用单词而不是索引值标记.id列条目,但我的输入没有命名(这是) 在这种情况下,将名称映射到.id字段的最佳方法是什么 示例数据: n <- 20 df <- data.frame(foo_1=rnorm(n), foo_2=rnorm(n), foo_3=rnorm(n), foo_a=runif(n), t_foo=runif(n), bar_1=rnorm(n), bar_2=r

我想在
map\u dfr
的输出中用单词而不是索引值标记
.id
列条目,但我的输入没有命名(这是)

在这种情况下,将名称映射到
.id
字段的最佳方法是什么

示例数据:

n <- 20
df <- data.frame(foo_1=rnorm(n), foo_2=rnorm(n), foo_3=rnorm(n), 
                 foo_a=runif(n), t_foo=runif(n),
                 bar_1=rnorm(n), bar_2=rnorm(n), bar_3=rnorm(n), 
                 bar_a=runif(n), t_bar=runif(n))
但是我想用
scale
来计算
foo
bar

  scale raw_alpha std.alpha
1   foo 0.2275679 0.2791238
2   bar 0.4141225 0.4130054

在这个玩具示例中,手动创建
categories不会太糟糕,除非我遗漏了更复杂的问题,这是一个简单的解决方法。您只需在
map\u-dfr
中添加
mutate
,就可以根据传递到
map\u-dfr
中的值生成一列。您只需删除
.id
位,然后使用
mutate
调用创建
scale
列;我只是想把
scale
scale\u cat
并排展示

库(tidyverse)
种子集(123)
n%
do(psych::alpha(,check.keys=TRUE)$total)%>%
突变(标度=0.x),
.id=“scale”)%%>%
选择(比例、比例、类别、原始α、标准α)
#>刻度盘刻度盘cat原始刻度盘标准刻度盘
#>1 1 foo 0.2606448 0.2601066
#>2巴0.4571981 0.4827263

由(v0.2.0)于2018年5月12日创建。

谢谢,现在看来很明显。盯着这个问题看太久了!
  scale raw_alpha std.alpha
1   foo 0.2275679 0.2791238
2   bar 0.4141225 0.4130054