Я пытаюсь создать функцию, в которую я ввожу столбец из моего фрейма данных, а затем число (которое также может быть получено из столбца в моем фрейме данных). Я хочу, чтобы он показал мне процент столбца А, который меньше моего числа. Я имел работающую функцию, но потом понял, что она будет работать только с использованием одного столбца моего фрейма данных. Вот первый код, который у меня был:
smaller <- function(PopColumn, number){
myMean <- mean(number)
smallerStates <- dfStates[(PopColumn<myMean), 5, drop=FALSE]
dividend <- nrow(smallerStates)
diviser <- length(PopColumn)
PopPerc <- (dividend/diviser)*100
return(PopPerc)
}
Это то, что я первоначально ввел:
smaller(dfStates$Jul2011, dfStates$Jul2011)
Затем я понял, что независимо от того, что я ввел, я получал один и тот же ответ, потому что «5» в моем коде относится к столбцу для
dfStates$Jul2011
Затем я попробовал несколько вариантов чего-то вроде этого:
smaller<-function(PopColumn, number){
myMean<-mean(number)
smallerStates <- dfStates[(PopColumn<myMean),PopColumn]
dividend <- nrow(smallerStates)
diviser <- length(PopColumn)
PopPerc <- (dividend/diviser)*100
return(PopPerc)
}
Но я продолжаю получать ошибки, как правило, которые у меня есть выбраны неопределенные столбцы или недопустимый тип индекса «list».
Есть ли какие-либо предложения относительно того, как заставить это работать, используя любое из других имен моих столбцов?