R 一个公共列的多个相似数据集的频率表
如何获取公共列的多个数据集的频率表R 一个公共列的多个相似数据集的频率表,r,apply,R,Apply,如何获取公共列的多个数据集的频率表msleep,msleep\u sub?我想知道是否可以通过将列名传递给applyfamily函数来实现这一点 library(msleep) head(msleep) msleep_sub <- msleep %>% group_by(genus) %>% filter(n() ==1) table(msleep$vore) # carni herbi insecti omni # 14 27
msleep
,msleep\u sub
?我想知道是否可以通过将列名传递给apply
family函数来实现这一点
library(msleep)
head(msleep)
msleep_sub <- msleep %>% group_by(genus) %>% filter(n() ==1)
table(msleep$vore)
# carni herbi insecti omni
# 14 27 5 20
table(msleep_sub$vore)
# carni herbi insecti omni
# 19 32 5 20
库(msleep)
主管(msleep)
msleep_子%group_by(属)%%>%筛选器(n()==1)
表(msleep$vore)
#全方位食虫肉
# 14 27 5 20
表(msleep_sub$vore)
#全方位食虫肉
# 19 32 5 20
更准确地说,如何使用单个命令获得上述两个输出。我们将对象保存在
列表中,并通过lappy
循环通过列表获得所需列的表
lapply(list(msleep, msleep_sub), function(x) table(x$vore))
或者另一个选项是将对象保留在列表中后的tidyverse
library(tidyverse)
list(msleep, msleep_sub) %>%
map(~table(.$vore))
mget(ls(pattern = "msleep")) %>%
map(~table(.$vore))
如果我们需要一个命名的列表
library(tidyverse)
list(msleep, msleep_sub) %>%
map(~table(.$vore))
mget(ls(pattern = "msleep")) %>%
map(~table(.$vore))
谢谢@akrun,我只能在10分钟后接受答案。在尝试不同的方法时,我忽略并错过了上述命令中的传递x
。想知道列表中的项目是否可以用相应的数据帧名称命名。@Prradep更新了文章