【问题标题】:How can I select columns from a dataframe in a function? [duplicate]如何从函数中的数据框中选择列? [复制]
【发布时间】:2015-08-27 20:28:09
【问题描述】:

有一个包含大量列的数据框 (x)。我想在函数中从中选择列。

selectcols<-function(dat,xvar,yvar){
  t<-dat[,c(xvar,yvar)] 
}

selectcols(dat=x,xvar = "area",yvar = "y")

这里 y 和 area 是两列。但这不起作用。我该如何解决?

【问题讨论】:

  • 我认为您不需要功能来选择列。除非您想添加一些标准,以选择某些列。看看这个df &lt;-data.frame(a=1:5,b=6:10,c=40:44)df[,c("a","c")]
  • 它是更大代码库的一部分。我需要在函数中执行此操作。
  • 你需要在函数内部有一个return语句。
  • 这应该可以工作:selectcols &lt;- function(d,jx,jy) "["(d,c(jx,jy))
  • @darwin 不一定。 @maximusdooku 用treturn(t) 结束你的函数。这应该是工作。

标签: r


【解决方案1】:

我喜欢为此使用 dplyr

library(dplyr)
selectcols <- function(dat,xvar,yvar){
  t <- dat %>% select(matches(xvar), matches(yvar))
}

x <- data.frame(area = 1:10, y = 11:20, z = LETTERS[1:10])
selection <- selectcols(dat=x, xvar = "area", yvar = "y")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-02
    • 2019-03-04
    • 1970-01-01
    • 2018-11-09
    • 2020-04-17
    • 2020-07-13
    • 1970-01-01
    • 2019-03-23
    相关资源
    最近更新 更多