Я складываю каждый третий столбец и помещаю результат в новый столбец, мне нужно сделать это для фрейма данных с более чем 300 столбцами. Я могу сделать цикл для выполнения добавления, но у меня проблемы с присвоением имен новым столбцам. Вот пример того, что я хочу, чтобы я пробовал так var:
x1 <- rnorm(100)
x2 <- rnorm(100)
x3 <- rnorm(100)
x4 <- rnorm(100)
x5 <- rnorm(100)
x6 <- rnorm(100)
x7 <- rnorm(100)
x8 <- rnorm(100)
x9 <- rnorm(100)
x10 <- rnorm(100)
x11 <- rnorm(100)
x12 <- rnorm(100)
df <- data.frame(x1,x2,x3,x4,x5,x6,x7,x8,x9,x10, x11,x12)
for (i in 2:4){
new <- apply(df[,c(i,i+3,i+6)],1,sum,na.rm=T)
df <- cbind(df, new[i-1])
}
Я хотел бы, чтобы имена новых столбцов отображались как «new1», «new2» и «new3», однако с моим кодом все они называются «new [i]. Пожалуйста, не то, что я уверен, что есть другие и, возможно, лучшие способы создания этих столбцов без использования цикла, но мне особенно интересно выяснить, что не так с моим циклом, и поддерживать его использование. Спасибо.
cbind(df, setNames(data.frame(rowSums(df[c(T, F, F)]), rowSums(df[c(F, T, F)]), rowSums(df[c(F, F, T)])), paste0('new', seq(ncol(df) / 4))))
- person Sotos   schedule 01.08.2017