从数据帧列表中选择数据帧作为R中函数的参数

时间:2016-01-27 00:07:40

标签: r function dataframe arguments

嘿我想在函数中使用大data.frame中的list作为参数。我的数据列有一个NBA球队数据列表,其中每个球队都是data.frame中的list;为了使我最有效的功能,我需要使用团队作为参数。以下是一些测试数据:

a<- data.frame(1,1:10)
b<- data.frame("a",4,"d", 20:25)

c<- list(a,b)
names(c)<- c("a","b")

test<- function(df){
  poop<- subset(c$df, c$df$X1.10==1)
  return(poop)
}

在这个例子中,我希望运行类似

的东西
test("a")

但是我很难得到它。任何想法将不胜感激

1 个答案:

答案 0 :(得分:0)

看看这是不是你想要的。我做了一些改写。首先,对于在全局环境中返回数据框的功能,您应该使用&#34;&lt;&lt;&#34;。如果没有,你可以保持&#34;&lt; - &#34;。但请记住,作为局部变量,数据帧仅在函数运行时才存在。这类似于Python中变量的全局赋值。 其次,有一种更好的方法来对数据框进行子集化,如下所示:

a<- data.frame(1,1:10)
b<- data.frame("a",4,"d", 20:25)

c<- list(a,b)
names(c)<- c("a","b")

test<- function(df){
    poop<<- subset(df, df$X1.10==1)
    return(poop)
}

test(c[[1]])