首页 > 解决方案 > 添加 2 列并在 2 (R) 之后创建新列

问题描述

假设我有一个包含 a、b、c、d、e、f、g、h 列的数据框。

我想将 d 和 e 列的值相加,并在 d 和 e 之后创建一个包含结果的列,使其变为:

a,b,c,d,e,新列,f,g,h

有没有办法做到这一点?因为我发现在 R 中重新排序列非常令人沮丧,特别是当你有一个包含许多列的巨大数据框时。

任何帮助表示赞赏!

标签: rdataframeadd

解决方案


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)]


推荐阅读