저는 R에서 초보자이며 R 함수를 작성하는 데 손을 댑니다. 내가 쓴 기능은 지금이내 자신의 함수 작성
male <- c(1:10)
female <- c(11:20)
msum <- function(h,j) {
for(i in 1:length(h)){
e <- c()
e[i] = h[i] + j[i]
i = i+1
}
e
}
처럼 내가 p <- msum(male, female)
하여 함수를 호출 할 때, 나는 남자의 합과 여성의 벡터하지만 내가 얻을이 같은 결과에 길이 10의 벡터로 출력을 찾습니다 첫 번째 9 개 위치의 값으로 NA
의 길이 10 인 벡터이며 벡터의 마지막 값은 30입니다. 내가 어디로 잘못 가고 있니?
이것은 범위 지정 문제입니다. 당신은 for 루프 안에서'e'를 정의했지만 루프 밖에서 사용했습니다. –
'i'를 증가시킬 필요가 없으므로'i = i + 1' 라인을 제거하십시오. –
또한 함수에 이름을 붙이는 것은 매우 혼란 스러울 수 있습니다. 기본 R 함수와 동일합니다 ('sum'은 이미 존재합니다). – r2evans