使用sapply将字符串参数传递给函数

时间:2018-07-04 17:14:13

标签: r data-science

我有一个数据集,其中包含每个大洲售出的汽车的数据。我试图找到每个大洲售出的汽车最多的数据。我有指定各大洲售出汽车数量的列(EurSales,AsiaSales, NASales,SASales ..)。

我编写了以下函数,试图找出最大销售额,但遇到一些错误。

formtype <- cl <- data <- as.list(1:3) # test data
Names <- c("formtype", "cl", "date")
as.data.frame(lapply(mget(Names, .GlobalEnv), unlist))

我得到一个错误说明   #cars is the dataset maxSales<-function(columnName){ return(Cars$Name[which.max(Cars[,columnName])]) } colNames <- c("EurSales","AsiaSales","NASales","SASales"); maxCarSales <- sapply(colNames,maxSales) (汽车,“ columnName”)中的错误:   选择了未定义的列

但是如果尝试对columnName进行硬编码,则该函数可以很好地工作。如果直接调用该函数也可以正常工作。在将字符串作为参数传递时是否做错了?

1 个答案:

答案 0 :(得分:0)

想出了解决方案的完美方法。错字在于要传递的列名中。