나는 다음과 같은 코드를 사용하여 만든 많은 변수를 가지고 :R은 - 유사한 이름을 가진 여러 변수에 rbind 사용
지금 그들을 결합하는 변수에 rbind 사용할 필요가for (i in 1:10) {
assign(paste0("variable", i), i)}
. 나는 무언가를 이렇게 무언가를 시도했다 :
rbind(assign(paste0("variable", 1:10)))
무엇에 관한 어떤 제안?
나는 다음과 같은 코드를 사용하여 만든 많은 변수를 가지고 :R은 - 유사한 이름을 가진 여러 변수에 rbind 사용
지금 그들을 결합하는 변수에 rbind 사용할 필요가for (i in 1:10) {
assign(paste0("variable", i), i)}
. 나는 무언가를 이렇게 무언가를 시도했다 :
rbind(assign(paste0("variable", 1:10)))
무엇에 관한 어떤 제안?
관련 항목을 처리하는 것은 잘못된 방법입니다. 목록이나 데이터 프레임을 사용하는 것이 더 좋지만, 당연히 이유를 알아낼 것입니다. 지금 :
do.matrix <- do.call(rbind, lapply(ls(patt="variable"), get))
또는 :
do.matrix <- do.call(rbind, lapply(paste0("variable", 1:10) , get))
나는 동적 이름을 가진 여러 dataframes을 병합하는 또 다른 방법을 추가하고 싶습니다. 이것은 mget
과 bind_rows
을 dplyr
에서 사용하여 수행됩니다.
# 3 Data frames are created
TXN_MONTH_01 <- data.frame(a = 1:10, b = 101:110)
TXN_MONTH_02 <- data.frame(a = 11:20, b = 111:120)
TXN_MONTH_03 <- data.frame(a = 21:30, b = 121:130)
#create a list using dynamic names of dataframes
z <- as.list(mget(paste("TXN_MONTH_0", 1:3, sep="")))
library(dplyr)
#now call bind rows
bind_rows(z)
# a b
#1 1 101
#2 2 102
#3 3 103
#4 4 104
#5 5 105
#.....
#.....
#25 25 125
#26 26 126
#27 27 127
#28 28 128
#29 29 129
#30 30 130
동일한 패턴을 가진 다른 변수가없는 경우에만 작동합니다. 예를 들어, 원래 코드에서 for 루프를 최대 1000으로 설정 한 다음 다시 10으로 설정하면 do.matrix 변수의 행 수가 너무 많아집니다. – bill999
고마워요, @DWin. 내 의견에 대한 귀하의 후속 조치가 정확했습니다. 사과드립니다. 이 추가 코드 줄을 보내 주셔서 감사합니다. 이것이 내가 필요한 것입니다. – bill999