Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 一个公共列的多个相似数据集的频率表_R_Apply - Fatal编程技术网

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更新了文章