为什么这个 returns 数据帧值的频率不起作用的 R 函数?
Why is this R function that returns the frequency of a data frame value not working?
我想做一个有两个参数(变量、值)的函数。函数 returns 数据帧值的频率。我编写了以下代码,但它 returns 出现错误:找不到对象 "variable"。为什么有任何想法?在控制台中逐步执行似乎有效,但不在函数内。
data <- data.frame(SEX = c("MASCULINO", "FEMENINO", "FEMENINO","FEMENINO",
"MASCULINO", "FEMENINO", "FEMENINO","FEMENINO",
"MASCULINO", "FEMENINO", "FEMENINO","FEMENINO",
"MASCULINO", "FEMENINO", "FEMENINO","FEMENINO",
"MASCULINO", "FEMENINO", "FEMENINO","FEMENINO"),
AGE = c(33, 33, 45, 56, 76, 45, 45, 23, 56, 45,
19, 23, 45, 56, 28, 36, 53, 49, 47, 22))
value_frequency <- function(variable, value){
variable <- data$variable
table <- table(data$variable)
frequency<- table[[value]]}
value_frequency (SEX, FEMENINO)
Error in frecuencia_valor(SEXO, FEMENINO) : object 'FEMENINO' not found
试试这个:
value_frequency <- function(variable, value){
variable <- data[,variable]
table <- table(variable)
frequency <- table[value]
return(frequency)
}
value_frequency ("SEX", "FEMENINO")
FEMENINO
15
或者更短一点,只返回值,不返回相关名称:
value_frequency <- function(variable, value){
return(table(data[,variable])[[value]])
}
我想做一个有两个参数(变量、值)的函数。函数 returns 数据帧值的频率。我编写了以下代码,但它 returns 出现错误:找不到对象 "variable"。为什么有任何想法?在控制台中逐步执行似乎有效,但不在函数内。
data <- data.frame(SEX = c("MASCULINO", "FEMENINO", "FEMENINO","FEMENINO",
"MASCULINO", "FEMENINO", "FEMENINO","FEMENINO",
"MASCULINO", "FEMENINO", "FEMENINO","FEMENINO",
"MASCULINO", "FEMENINO", "FEMENINO","FEMENINO",
"MASCULINO", "FEMENINO", "FEMENINO","FEMENINO"),
AGE = c(33, 33, 45, 56, 76, 45, 45, 23, 56, 45,
19, 23, 45, 56, 28, 36, 53, 49, 47, 22))
value_frequency <- function(variable, value){
variable <- data$variable
table <- table(data$variable)
frequency<- table[[value]]}
value_frequency (SEX, FEMENINO)
Error in frecuencia_valor(SEXO, FEMENINO) : object 'FEMENINO' not found
试试这个:
value_frequency <- function(variable, value){
variable <- data[,variable]
table <- table(variable)
frequency <- table[value]
return(frequency)
}
value_frequency ("SEX", "FEMENINO")
FEMENINO
15
或者更短一点,只返回值,不返回相关名称:
value_frequency <- function(variable, value){
return(table(data[,variable])[[value]])
}