data.frame이 있고 다른 셀이 데이터 프레임에 있으면 셀에서 특정 값을 가져오고 싶습니다.
적용 기능을 시도했습니다.
n <- c(2, 3, 0 ,1)
s <- c(0, 1, 1, 2)
b <- c("THIS", "FALSE", "NOT", "THIS")
df <- data.frame(n, s, b)
df <- sapply(df$Vals, FUN=function(x){ if(b[x]=="THIS") ? n[x] : s[x] } )
내 논리는 다음과 같습니다.
if(b at position x is equal to "This") {
add n[x] to the column df$Vals
} else {
add s[x] to the column df$Vals
}
반면 x
에 단일 행입니다.
내가 뭘 잘못하고 있는지 추천?
답장 해 주셔서 감사합니다!
이렇게 :
df$Vals = with(df, ifelse(b=="THIS", n, s))
또는 결과를 직접 제공하십시오 data.frame
.
transform(df, Vals=with(df, ifelse(b=="THIS", n, s)))
# n s b Vals
#1 2 0 THIS 2
#2 3 1 FALSE 1
#3 0 1 NOT 1
#4 1 2 THIS 1
추가 조건 :
func=Vectorize(function(b, s, n){if(b=='THIS') return(n);if(b==F) return(n+s);s})
df$Vals = with(df, func(b,s,n))
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다