这个问题在这里已有答案:
假设我有一个包含a,b,c,d,e,f,g,h列的数据帧。
我想要添加列d和e的值,并在d和e之后创建一个包含结果的列,使其变为:
A,B,C,d,E,newcolumn,F,G,H
有没有办法做到这一点?我发现重新排序R中的列非常令人沮丧,特别是当你有一个包含很多列的巨大数据帧时。
任何帮助表示赞赏!
随着dplyr
library(dplyr)
data %>%
mutate(newcolumn = d + e) %>%
select(a,b,c,d,e,newcolumn,f,g,h)
与data.table
setDT(data)
data[,newcolumn := d + e,]
setcolorder(data, c("a","b","c","d","e","newcolumn")
与tibble
library(tibble)
add_column(data, "newcolumn" = data$d + data$e, .after = "e")
与base
data <- within(data, newcolumn <- d + e)
data <- data[, c(1:5, 9, 6:8)]