奇怪的问题,但如何进行过滤,以便为数据帧返回所有行?例如,假设您有以下数据框:
Pts <- floor(runif(20, 0, 4))
Name <- c(rep("Adam",5), rep("Ben",5), rep("Charlie",5), rep("Daisy",5))
df <- data.frame(Pts, Name)
并且您要为此数据框设置预定的过滤器,例如:
Ptsfilter <- c("2", "1")
然后,您将在数据框中运行,以获取新的过滤数据框
dffil <- df[df$Pts %in% Ptsfilter, ]
然而,有时候,您根本不希望对数据帧进行过滤,并且为了自动化和最小化工作负载,您不希望必须返回并删除/注释掉每个实例这个过滤器。您只希望能够调整Ptsfilter
值,以便在运行该行代码时不会从数据帧中过滤掉任何行。
我用以下的方式进行了实验/猜测:
Ptsfilter <- c("")
Ptsfilter <- c(" ")
Ptsfilter <- c()
无济于事。
我可以为Ptsfilter
输入一个可以实现此目标的值吗?
答案 0 :(得分:0)
您可能需要定义一个函数来为您执行此操作。
filterDF = function(df,filter){
if(length(filter)>0){
return(df[df$Pts %in% filter, ])
}
else{
return(df)
}
}