如何添加新列 dataframe /到了开始,而不是最后/?

如何将新变量添加到现有数据帧,但我想将其添加到 front not end.
例如, my dataframe is


b c d
1 2 3
1 2 3
1 2 3


我想添加一个新变量 a, 以便 dataframe 看起来像这样


a b c d
0 1 2 3
0 1 2 3
0 1 2 3
已邀请:

风见雨下

赞同来自:

使用
cbind

, 例如


df <- data.frame/b = runif/6/, c = rnorm/6//
cbind/a = 0, df/


给予:


> cbind/a = 0, df/
a b c
1 0 0.5437436 -0.1374967
2 0 0.5634469 -1.0777253
3 0 0.9018029 -0.8749269
4 0 0.1649184 -0.4720979
5 0 0.6992595 0.6219001
6 0 0.6907937 -1.7416569

八刀丁二

赞同来自:

df <- data.frame/b = c/1, 1, 1/, c = c/2, 2, 2/, d = c/3, 3, 3//
df
## b c d
## 1 1 2 3
## 2 1 2 3
## 3 1 2 3

df <- data.frame/a = c/0, 0, 0/, df/
df
## a b c d
## 1 0 1 2 3
## 2 0 1 2 3
## 3 0 1 2 3

小姐请别说爱

赞同来自:

添加列 "a"


> df["a"] <- 0
> df
b c d a
1 1 2 3 0
2 1 2 3 0
3 1 2 3 0


使用名称按列排序 colum


> df <- df[c/'a', 'b', 'c', 'd'/]
> df
a b c d
1 0 1 2 3
2 0 1 2 3
3 0 1 2 3


或者使用索引按列排序


> df <- df[colnames/df/[c/4,1:3/]]
> df
a b c d
1 0 1 2 3
2 0 1 2 3
3 0 1 2 3

风见雨下

赞同来自:

如果你想这样做
tidyverse

在路上,尝试
add_column


tibble

, 允许您指定使用参数放置新列的位置
.before

或者
.after

:


library/tibble/

df <- data.frame/b = c/1, 1, 1/, c = c/2, 2, 2/, d = c/3, 3, 3//
add_column/df, a = 0, .before = 1/

# a b c d
# 1 0 1 2 3
# 2 0 1 2 3
# 3 0 1 2 3

龙天

赞同来自:

以前的答案显示 3 方法

通过创建新的数据帧

通过 "cbind"

添加列 "a" 并使用列名称或索引对列的数据帧进行排序

让我告诉我 #4 一种方法 ", 使用 "cbind" 和 "rename", 这适用于我的案件

1. 创建数据帧


df <- data.frame/b = c/1, 1, 1/, c = c/2, 2, 2/, d = c/3, 3, 3//


2. 获取列的值 "new"


new_column = c/0, 0, 0/


3. 结合专栏 "new" 与现有


df <- cbind/new_column, df/


4. 重命名列的名称 "new"


colnames/df/[1] <- "a"

莫问

赞同来自:

cbind 以参数的顺序继承顺序。

使用你的第一列/S./ 作为

第一个论点

cbind/fst_col , 天。/


fst_col df_col1 df_col2
1 0 0.2 -0.1
2 0 0.2 -0.1
3 0 0.2 -0.1
4 0 0.2 -0.1
5 0 0.2 -0.1


cbind/df, last_col/


df_col1 df_col2 last_col
1 0.2 -0.1 0
2 0.2 -0.1 0
3 0.2 -0.1 0
4 0.2 -0.1 0
5 0.2 -0.1 0

要回复问题请先登录注册