Я пытаюсь создать функцию для распределения по полу. Есть ли способ определить букву как нечто отличное от as.factor
? Я хотел бы использовать func(F)
вместо func("F")
. Или мне нужно числовое: func(0)
, func(1)
, func(2)
?Числовые аргументы и утверждения IF
Я также закончил заявление с помощью else, который предназначен для работы, когда он оставлен пустым, но не делает этого. Если я откажусь от функции, чтобы не включать инструкцию IF, пустая переменная работает нормально:
genderDist <- function(){
cat("Female:", sum(voterData$GENDER == "F"))
}
Заранее благодарен! Ура!
Полное заявление:
genderDist <- function(x){
if (x == "F"){
cat("Female:", sum(voterData$GENDER == "F"))
}
else if (x == "M"){
cat("Male:", sum(voterData$GENDER == "M"))
}
else if(x == "U"){
cat("Unknown:", sum(voterData$GENDER == ""))
}
else{
cat("Female:", sum(voterData$GENDER == "F"))
cat("Male:", sum(voterData$GENDER == "M"))
cat("Unknown:", sum(voterData$GENDER == ""))
}
Желаемые результаты: genderDist (F) дает количество самок genderDist (М) дает количество самцов genderDist (U) дает количество неизвестных genderDist() дает подсчет для всех указанных выше
Знаете ли вы функцию 'table'? Попробуйте 'table (voterData $ GENDER)'. – nicola
@nicola да, но функции не моя проблема, а скорее утверждение IF. функции работают нормально. – Geppelt
Мне не очень понятно. Кажется, ваша функция вычисляет значения значений в векторе, что и делает 'table', поэтому я не вижу причины изобретать колесо. Что не работает для вас? Пожалуйста, поделитесь примерами того, что вы хотите выполнить. Как вы используете свою функцию? Получаете ли вы ошибки или вы просто не получаете желаемого результата? – nicola