R - 将几个因子级别设置为函数中的默认参数
R - set several factor levels as default argument in a function
我正在尝试创建一个从数据集中查找价格和汽车类型的函数。两者都有默认参数。对于价格,这很容易。但是对于汽车类型(我有作为因素),我找不到将所有因素设置为默认值的方法。
目标是,如果您不在 car_type 中设置任何内容,它将 return 所有可能的汽车类型。
search <- function(start_price = 0, end_price = 1000, car_type = ???){
subset_data <- auto[price <= end_price &
price > start_price &
vehicleType == car_type]
return(subset_data)
}
search()
因此 "search()" return 是价格在 0 到 1000 之间的所有汽车以及所有可能的汽车类型。我试过使用向量和列表,但没有任何运气。
解决这个问题的通常方法是使用 NULL
作为默认值并在函数中处理它。
search <- function(start_price = 0, end_price = 1000, car_type = NULL){
if (is.null(car_type) {
car_type <- levels(auto$vehicleType)
}
subset_data <- auto[price <= end_price &
price > start_price &
vehicleType %in% car_type]
return(subset_data)
}
我正在尝试创建一个从数据集中查找价格和汽车类型的函数。两者都有默认参数。对于价格,这很容易。但是对于汽车类型(我有作为因素),我找不到将所有因素设置为默认值的方法。
目标是,如果您不在 car_type 中设置任何内容,它将 return 所有可能的汽车类型。
search <- function(start_price = 0, end_price = 1000, car_type = ???){
subset_data <- auto[price <= end_price &
price > start_price &
vehicleType == car_type]
return(subset_data)
}
search()
因此 "search()" return 是价格在 0 到 1000 之间的所有汽车以及所有可能的汽车类型。我试过使用向量和列表,但没有任何运气。
解决这个问题的通常方法是使用 NULL
作为默认值并在函数中处理它。
search <- function(start_price = 0, end_price = 1000, car_type = NULL){
if (is.null(car_type) {
car_type <- levels(auto$vehicleType)
}
subset_data <- auto[price <= end_price &
price > start_price &
vehicleType %in% car_type]
return(subset_data)
}