데이터 프레임이 있습니다. 나는 열 "A"를 검색해야하고, "a"는 "foo는"열 "B"를 일치 한 동일한 경우Apply 함수의 오류 : "인수의 행 수가 다르다는 것을 의미합니다. 1, 0"
a <- c("foo", "bar", "baz", "foo")
b <- c(0, 0, 0, 0)
df <- data.frame(a, b)
f <- function (x){
if (x["a"] == "foo"){
x["b"] <- "confirm"
}
}
result <- apply(df, 1, f)
의도 된 결과가
a b
"foo" "confirm"
"bar" 0
"baz" 0
"foo" "confirm"
는 "발견"하지만 난 할 때 이, 반환 결과 :
[[1]]
[1] "confirm"
[[2]]
NULL
[[3]]
NULL
[[4]]
[1] "confirm"
및보기 (결과) 오류 제공 :보기 오류 : 인수가 행 수 서로 다른 의미 : 1, 0
데이터 프레임에 다른 차원을 추가합니까?
함수가 마지막에'리턴 (X)'에 필요 : – Frank
'return (x)'를 추가했지만 그 결과로 행과 열이 바뀝니다. –
네, 그건'apply'를 사용했을 때의 부작용입니다. 사람들은 대개 반대쪽 끝에't()'를 쓰거나'apply' 사용을 피하려고합니다. – Frank