이것이 이전에 요청 된 적이 있다면 용서하십시오. 그러나이 문제가있는 다른 사람을 찾기 위해 올바른 검색어를 넣을 수는 없습니다.
루프를 사용하여 데이터 프레임 이름 목록을 만들었습니다. 내가하려는 것은 rbind가 해당 데이터 프레임을 함께 추가하도록 목록 참조를 사용하는 것입니다. 다음은 내가하려는 작업의 예입니다.
list <- list("df1","df2","df3") #represents the list of names of the dataframes
all_df <- rbind(list)
위의 내용은 데이터 프레임 자체가 아닌 데이터 프레임의 이름을 함께 추가합니다. 나는 또한 시도했다 :
all_df <- rbindlist(list)
과
all_df <- do.call(what = rbind, args = list)
그러나 운이 없습니다. 내가 찾을 수있는 모든 조언은 데이터 프레임 이름 목록이 아니라 데이터 프레임 목록을 참조하는 것 같습니다.
도와주세요! 나는 해결책이 아마도 정말 간단하다는 것을 알고 있기 때문에이 문제로 머리카락을 꺼내고 있습니다!
내가 올바르게 이해한다면 바인딩하려는 객체의 이름을 가진 문자형 벡터가 있습니다. 목표는 "이름 벡터"를 사용하여 여러 데이터 프레임을 단일 데이터 프레임으로 바인딩하는 것입니다.
mget()
문자 벡터를 실제 객체의 이름으로 변환 하는 함수 를 사용하는 것이 좋을까요? 이것은 목록을 만들 필요가 없습니다.
아래 코드를 참조하십시오.
# dummy data to test it
df1 <- head(mtcars, 2)
df2 <- head(mtcars, 3)
df3 <- head(mtcars, 4)
# your "vector of names"
lst.names <- list("df1","df2","df3") # the output of your loop
df.names <- do.call(rbind, lst.names)[, 1] # change the list to a character vector
# this seems to work
do.call(rbind, mget(df.names))
출력 :
> do.call(rbind, mget(df.names))
mpg cyl disp hp drat wt qsec vs am gear carb
df1.Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
df1.Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
df2.Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
df2.Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
df2.Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
df3.Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
df3.Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
df3.Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
df3.Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다