tidyverse-删除嵌套列/列表中的列
我有以下数据: (注意:我在tidyverse中使用的是当前github版本的dplyr,它提供了一些新的实验功能,如tidyverse-删除嵌套列/列表中的列,r,nested,tidyverse,R,Nested,Tidyverse,我有以下数据: (注意:我在tidyverse中使用的是当前github版本的dplyr,它提供了一些新的实验功能,如concure——我在下面使用的,但我认为这与我的问题无关) 库(tidyverse) 图书馆(corrr) dat噢,天哪,这很简单: cor_dat <- dat %>% group_by(grp) %>% condense(cor = correlate(cur_data())) %>% mutate(cor = list(cor[,-1
concure
——我在下面使用的,但我认为这与我的问题无关)
库(tidyverse)
图书馆(corrr)
dat噢,天哪,这很简单:
cor_dat <- dat %>%
group_by(grp) %>%
condense(cor = correlate(cur_data())) %>%
mutate(cor = list(cor[,-1]))
cor_dat%
分组依据(grp)%>%
压缩(cor=correlate(cur_data())%>%
变异(cor=list(cor[,-1]))
通过尝试和错误到达那里。尽管这只适用于列位置,而不适用于名称。如果我们删除group属性,@r2evans的建议将有效
library(dplyr)
library(purrr)
cor_dat %>%
ungroup %>%
mutate(cor = map(cor, ~ select(.x, -rowname)))
# A tibble: 4 x 2
# grp cor
# <int> <list>
#1 1 <tibble [6 × 6]>
#2 2 <tibble [6 × 6]>
#3 3 <tibble [6 × 6]>
#4 4 <tibble [6 × 6]>
错误:mutate()
参数cor
出错。
ℹ cor
是map(cor,~select(.x,-rowname))
。
ℹ 错误发生在第1行。
✖ 没有适用于“字符”类对象的“选择”方法
运行rlang::last_error()
查看错误发生的位置
如果我们提取为列,这与相同的行为是一致的
cor_dat$cor %>%
map(~ .x %>% select(-rowname))
或者,如果我们想缩短它,可以在压缩
本身内完成,因为关联
根据文档添加了一个行名
列
dat %>%
group_by(grp) %>%
condense(cor = correlate(cur_data()) %>%
select(-rowname))
# A tibble: 4 x 2
# Rowwise: grp
# grp cor
# <int> <list>
#1 1 <tibble [6 × 6]>
#2 2 <tibble [6 × 6]>
#3 3 <tibble [6 × 6]>
#4 4 <tibble [6 × 6]>
dat%>%
分组依据(grp)%>%
压缩(cor=correlate(cur_data())%>%
选择(-rowname))
#一个tibble:4x2
#行方式:grp
#玻璃钢
#
#1 1
#2 2
#3 3
#4 4
purrr::map_df(colname,~select(.x,-rowname))
不起作用<代码>as_mapper(.f,…)中的错误:未找到对象“colname”
我认为@r2evans的意思是“colname”作为您填写实际列名的替代,尽管我认为它实际上应该是您的数据框抱歉,编辑了我的帖子。但是名字也不起作用。
cor_dat %>%
mutate(cor = map(cor, ~ select(.x, -rowname)))
cor_dat$cor %>%
map(~ .x %>% select(-rowname))
dat %>%
group_by(grp) %>%
condense(cor = correlate(cur_data()) %>%
select(-rowname))
# A tibble: 4 x 2
# Rowwise: grp
# grp cor
# <int> <list>
#1 1 <tibble [6 × 6]>
#2 2 <tibble [6 × 6]>
#3 3 <tibble [6 × 6]>
#4 4 <tibble [6 × 6]>