Владислав Харламов Asked:2020-09-19 06:51:44 +0000 UTC2020-09-19 06:51:44 +0000 UTC 2020-09-19 06:51:44 +0000 UTC 在 DataFrame 的特定位置插入一列 772 有一种方法可以创建一个新变量Mydata$new_var <- ...,但问题是它被写入了 DataFrame 的末尾。 我怎样才能让它在特定的列中? r 1 个回答 Voted Best Answer Alexshev92 2020-09-19T10:55:21Z2020-09-19T10:55:21Z 您可以使用add_column()标准库中的函数tibble。 library(tibble) a <- c(1, 2, 3) b <- c(4, 5, 6) c <- c(7, 8, 9) d <- c(10, 20, 30) dt <- data.frame(a, b, c) > dt a b c 1 1 4 6 2 2 5 7 3 3 6 8 要在特定位置添加列,请使用add_column dt <- add_column(dt, d, .after = 1) > dt a d b c 1 1 10 4 6 2 2 20 5 7 3 3 30 6 8 源数据框和要添加的向量作为参数传递。使用参数.before或.after指定位置(编号或名称),在要插入新列的列之前或之后。 add_column(dt, d, .after = 1) # вставить после 1-го столбца add_column(dt, d, .before = 3) # вставить перед 3-м столбцом add_column(dt, d, .before = "b") # вставить перед столбцом b UPD。只需交换列 dt <- dt[, c("b", "c", "a")] > dt b c a 1 4 6 1 2 5 7 2 3 6 8 3 指定向量中列的顺序,例如,c("b", "c", "a")-- 列第一,"b"第二列,"c"第三列"a"。
您可以使用
add_column()标准库中的函数tibble。要在特定位置添加列,请使用
add_column源数据框和要添加的向量作为参数传递。使用参数
.before或.after指定位置(编号或名称),在要插入新列的列之前或之后。UPD。只需交换列
指定向量中列的顺序,例如,
c("b", "c", "a")-- 列第一,"b"第二列,"c"第三列"a"。