2014-09-02 2 views
0

rbind를 사용하여 더 큰 데이터 프레임에 여러 데이터 프레임을 추가합니다. 데이터 프레임의 이름을 "name"이라는 새 열로 추가하고 싶습니다.데이터 프레임 이름을 열 이름으로 사용

n = c(2, 3, 5) 
s = c("aa", "bb", "cc") 
d1 = data.frame(n, s)  

n = c(2, 3, 5) 
s = c("ax", "bx", "cx") 
d2 = data.frame(n, s) 

rbind(d1, d2) 

"d1"과 "d2"를 변수로 사용하여 새로운 열을보고 싶습니다. 나는 많은 데이터 세트에서이 작업을 수행하고 있는데,이 예제는 간단하지만 최종 프리드랙트는 나에게 많은 시간을 절약 해줄 것이다. Thx

+0

'do.call (rbind, MGET (C ("D1", "D2")))처럼'당신이 가까이 가져 본다. 나는이 질문이 비록 중복 된 것이라고 확신한다. – A5C1D2H2I1M1N2O1R2T1

+0

'list (d1 = d1, d2 = d2)' –

+0

@anando 올바른 방향으로 나를 가리켜 주셔서 감사합니다. 거기에 대한 답변은 잘 작동합니다. –

답변

0

나는 당신이 좋은 ole 'deparse(substitute()) 트릭을 찾고 있다고 생각합니다. 아래 코드 data.framedata.frame이라는 이름으로 구성된 열을 추가하도록 코드를 수정했습니다. 당신이 그들을 병합 할 때

n = c(2, 3, 5) 
s = c("aa", "bb", "cc") 
d1 = data.frame(n, s) 
d1$name <- deparse(substitute(d1)) 

n = c(2, 3, 5) 
s = c("ax", "bx", "cx") 
d2 = data.frame(n, s) 
d2$name <- deparse(substitute(d2)) 

d3 <- rbind(d1, d2) 

함께 결과 data.frame

!> d3 
    n s name 
1 2 aa d1 
2 3 bb d1 
3 5 cc d1 
4 2 ax d2 
5 3 bx d2 
6 5 cx d2 
+0

'rep_len (ls (pattern = "d (1 | 2)"), 2 * nrow (d1))'또한 이름 –

관련 문제