0
이 문제는 몇 번이나 발생했습니다. 함수 내에 ifelse 문을 배치하면 항상 동일한 결과가 발생합니다.Ifelse가 함수 내에서 작동하지 않습니다.
Data$QuarterHour <- ifelse(Data$Minute < 15, return(1),
ifelse(Data$Minute < 30 , return(2),
ifelse(DataFrame$Minute < 45, return(3), return(4))))
이것은 완벽하게 작동합니다. 그러나, 그것을 함수에 넣을 때. 그렇지 않습니다.
calculateHourQuarter <- function(aMinute)
{
ifelse(aMinute < 15, return(1),
ifelse(aMinute < 30 , return(2),
ifelse(aMinute < 45, return(3), return(4))))
}
DataFrame$QuarterHour <- calculateHourQuarter(as.numeric(Data$Minute))
결과로 열이 1로 채워집니다. 콘솔에서 함수를 대화식으로 호출하면 정수를 콘솔에서 전달할 때 올바른 결과를 얻을 수 있습니다.
아이디어가 있으십니까?
감사합니다.
은 또한 각 조건이 보이기 때문에 그들이 여기 원하는 어쩌면 무엇 인 else'''if'을 언급하고 수 길이는 1이다. 오, 신경 쓰지 마세요, 그들은 벡터와 함께 일하고있는 것 같아요. – Frank
ifelse에는 매우 특이한 (그리고 종종 유용한) 기능이 있습니다. 최종 결과는 부울 문과 동일한 차원을가집니다. 위의 경우 대신에'ifelse (TRUE, x, NA)'가'6 : -4'이 아닌 6을 반환하면 어색한 결과가 나올 수 있습니다. – Shape
이것은 정말 대단합니다! – Foxhound