У меня есть data.frame, где я назначаю каждому столбцу имя вектора переменных:
dat1 <- data.frame(a=1:5,b=1:5,c=1:5)
Я хочу создать новый data.frame, но вместо того, чтобы назначать каждый столбец по отдельности, я хочу назначить их все сразу. Например, если бы я хотел переименовать их все:
dat.new <- data.frame(paste(names(dat1),'1',sep='') = dat1)
Это явно не работает. Есть ли способ заставить его работать?
Я понимаю, что могу просто переименовать с помощью names()
, но сценарий, в котором это действительно кажется полезным, - это объединение нескольких наборов данных с одинаковыми именами столбцов (и в которых я не хочу просто rbind):
dat1 <- data.frame(a=1:5,b=1:5,c=1:5)
dat2 <- data.frame(a=6:10,b=6:10,c=6:10)
dat.new <- data.frame(paste(names(dat1),'1',sep='') = dat1, paste(names(dat1),'2',sep='') = dat2)
data.frame(setNames(dat1, paste0(names(dat1), "1")), setNames(dat2, paste0(names(dat1), "2")))
- person Josh O'Brien   schedule 20.11.2015