如何在函数中使用参数作为字符?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在函数中使用参数作为字符?相关的知识,希望对你有一定的参考价值。
给出一个最小的例子。
df <- data.frame("Treatment" = c(rep("A", 2), rep("B", 2)), "Price" = 1:4, "Cost" = 2:5)
我想通过对所有变量的处理来汇总数据,并将它们放在一起,因此我定义了一个函数,首先对每个变量执行此操作,然后再对它们进行rbind
。
SummarizeFn <- function(x,y)
x %>% group_by(Treatment) %>%
summarize(
n = n(),
Mean = mean(y),
SD = sd(y)
) %>% cbind ("Var" = rep(y, 3)) # add a column to show which variable those statistics belong to.
SumPrice <- SummarizeFn(df, Price)
但是,我在这里有两个问题。
首先,R告诉我Error in mean(y): can't find object 'Price'
。
第二,在最后一部分,cbind()
,如何在该列中将变量名称(例如Price)作为字符串传递?双引号肯定不会起作用,我也尝试了paste
函数,该函数也不起作用。这该怎么做?
答案
价格不是变量,您需要SummarizeFn(df,df$Price)
,因为价格只是在列表df中定义的
以上是关于如何在函数中使用参数作为字符?的主要内容,如果未能解决你的问题,请参考以下文章