0
저는 R 멍청 해요! 하나의 데이터 프레임을 메타 데이터로 사용하여 다른 데이터 프레임에 열을 만들려고합니다. 적용을 사용하지만 열이 만들어지지 않습니다. 아이디어?In R 다른 데이터 프레임에서 열 추가
> meta <- data.frame(colname = c("a","b","c"))
> frm <- data.frame(z=c(1,2,3))
> frm["y"] <- 1
> colnames(frm)
[1] "z" "y"
> apply(meta, 1, function(x) {
+ frm[x["colname"]] <- 1
+ })
[1] 1 1 1
> colnames(frm) #hoping for a/b/c columns now
[1] "z" "y"
UPDATE를 : 출력
는meta <- data.frame(colname = c("a","b","c"))
frm <- data.frame(z=c(1,2,3))
frm["y"] <- 1
colnames(frm)
apply(meta, 1, function(x) {
frm[x["colname"]] <- 1
})
colnames(frm) #hoping for a/b/c columns now
여기 않음 발견하여 적용 how to access global/outer scope variable from R apply function?
다루지 변수에 액세스하는 데 필요한이 < < -
meta <- data.frame(colname = c("a","b","c"))
frm <- data.frame(z=c(1,2,3))
frm["y"] <- 1
colnames(frm)
apply(meta, 1, function(x) {
frm[x["colname"]] <<- 1 #DBL ARROW DID IT
})
colnames(frm) #hoping for a/b/c columns now
고맙습니다 @akrun. 나는 그것을 시도했지만 나는 여전히 컬럼을 얻지 못하고있다/b/c. 이걸 실행하면 a/b/c 열이 보입니까? – sisdog
@sisdog 이상합니다. 나는 a, b, c 란을 얻는다. 게시물을 업데이트했습니다. – akrun
내 생각에 문제였던 apply()가 범위 지정되었습니다. 도움말에 다시 한 번 감사드립니다. – sisdog