字符串参数返回列均值的函数

时间:2019-09-20 08:38:44

标签: r

我试着做一个简单的函数,其中有三个可能的参数(“ sun”,“ rain”或“ wind”),该函数应返回所选三个月的平均值。

rows <- c("april", "may", "june")
sun <- c(11,13,18)
rain <- c(8,7,5)
wind <- c(11,8,4)

table <- data.frame(sun=sun, rain=rain,wind=wind, row.names=rows)

function(argument){

sun <- table$sun
rain <- table$rain
wind <- table$wind

x <- mean(argument)
paste(x)
}

例如,函数(“ sun”)应返回14。

问题是我了解如何将参数链接到包含值的列。

1 个答案:

答案 0 :(得分:1)

如果要将带引号的参数传递给函数,则可以使用[[

对该列进行子集设置
get_mean_of_column <- function(data, column){
  mean(data[[column]], na.rm = TRUE)
}

get_mean_of_column(df, "sun")
#[1] 14

get_mean_of_column(df, "rain")
#[1] 6.66667

get_mean_of_column(df, "wind")
#[1] 7.66667

数据

rows <- c("april", "may", "june")
sun <- c(11,13,18)
rain <- c(8,7,5)
wind <- c(11,8,4)
df <- data.frame(sun=sun, rain=rain,wind=wind, row.names=rows)