Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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
filter()或subset()存储在列表中的所有数据帧_R_List_Dataframe_Filter_Subset - Fatal编程技术网

filter()或subset()存储在列表中的所有数据帧

filter()或subset()存储在列表中的所有数据帧,r,list,dataframe,filter,subset,R,List,Dataframe,Filter,Subset,如果要删除特定列中包含0的所有行,可以执行以下操作: df <- data.frame(a = c(0,1,2,3,0,5), b = c(1,2,3,5,3,1)) df <- filter(df, a != 0) df一个涉及purr的选项可以是: map(.x = list.df, ~ .x %>% filter(a != 0)) [[1]] a b 1 1 2 2 2 3 3 3 5 4 5 1 [

如果要删除特定列中包含0的所有行,可以执行以下操作:

df <- data.frame(a = c(0,1,2,3,0,5), 
                 b = c(1,2,3,5,3,1))

df <- filter(df, a != 0)       

df一个涉及
purr
的选项可以是:

map(.x = list.df, ~ .x %>%
     filter(a != 0))

[[1]]
  a b
1 1 2
2 2 3
3 3 5
4 5 1

[[2]]
  a b
1 1 2
2 2 3
3 3 5
4 5 1

您还可以使用
lappy
作为其他选项:

#Without dplyr
lapply(list.df, function(x)x["a"!=0,])


#With dplyr
library(dplyr)
lapply(list.df, function(x)filter(x,a!=0))

# Result  
# [[1]]
# a b
# 1 1 2
# 2 2 3
# 3 3 5
# 4 5 1
# 
# [[2]]
# a b
# 1 1 2
# 2 2 3
# 3 3 5
# 4 5 1

非常感谢你!请详细说明语法
函数(x)过滤器(x,!=0)
如何在函数(x)中使用未声明的变量。此外,在什么情况下,我需要在实际使用的函数之前添加
函数(x)
,即
过滤器
条件
a=如果在
lappy
中直接使用0,则0不能作为参数传递给
dplyr::filter
。因此,引入了内联函数作为
函数(x)过滤器(x,a!=0)
,使用条件
a=0
#Without dplyr
lapply(list.df, function(x)x["a"!=0,])


#With dplyr
library(dplyr)
lapply(list.df, function(x)filter(x,a!=0))

# Result  
# [[1]]
# a b
# 1 1 2
# 2 2 3
# 3 3 5
# 4 5 1
# 
# [[2]]
# a b
# 1 1 2
# 2 2 3
# 3 3 5
# 4 5 1