Попытка создать функцию для возврата процента - PullRequest
0 голосов
/ 21 апреля 2020

Я пытаюсь создать функцию, в которую я ввожу столбец из моего фрейма данных, а затем число (которое также может быть получено из столбца в моем фрейме данных). Я хочу, чтобы он показал мне процент столбца А, который меньше моего числа. Я имел работающую функцию, но потом понял, что она будет работать только с использованием одного столбца моего фрейма данных. Вот первый код, который у меня был:

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».

Есть ли какие-либо предложения относительно того, как заставить это работать, используя любое из других имен моих столбцов?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...