Создайте новый фрейм данных из других фреймов, используя dplyr - PullRequest
0 голосов
/ 25 сентября 2018

У меня есть эти 3 кадра данных:

    df.1<-as.data.frame(matrix(rnorm(10),250,149))
    df.2<-as.data.frame(matrix(rnorm(10),250,149))
    df.3<-as.data.frame(matrix(rnorm(10),250,149))

Я хочу создать еще один кадр данных с этими условиями:

the columns 1,4,7,10,...445 of df.4... will be the columns from df.1

the columns 2,5,8,11,...446 of df.4... will be the columns from df.2

the columns 3,6,9,12,...447 of df.4... will be the columns from df.3

В ende мой df.4 будет иметь 3*149 столбцы.

Как я могу сделать это с пакетом dplyr и его функциями?

И самое важное , как мне поддерживать имена моих столбцов ???

1 Ответ

0 голосов
/ 25 сентября 2018

Для этого мы объединяем кадры данных с bind_cols(), а затем переупорядочиваем с select() следующим образом:

library (dplyr)
df.4 <- bind_cols(df.1, df.2, df.3)
# create the column order 
order <- c()
for(i in 1:149){
    temp <- c(i, i+149, i+298)
    order <- c(order, temp)
}
df.4 <- df.4 %>% select(order)

Используемый здесь цикл повторяется над числами 1: 149 и не будет медленным независимо отразмер ваших данных

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...