我有一个数据框,我想添加一个包含条目1的新列。我该怎么做?
例如
col1. col2
1. 2.
4. 5.
33. 4.
5. 3.
新列
col1. col2. col3
1. 2. 1
4. 5. 1
33. 4. 1
5. 3. 1
答案 0 :(得分:3)
df1$col3 <- 1
这应该也可以
同上
df1<-data.frame(df1,col3=1)
也可以工作
答案 1 :(得分:0)
最简单的选择是进行?Extract
df1['col3'] <- 1
使用[
代替$
的好处之一是我们也可以传递变量标识符
v1 <- 'col3'
df1[v1] <- 1
但是,如果这样做
df1$v1 <- 1
它创建一个名称为“ v1”而不是“ col3”的列
在不更改初始对象的情况下的其他变化是
transform(df1, col3 = 1)
cbind(df1, col3 = 1)
注意:所有这些都会创建一个列,并附加到最后一列
此外,还有一个方便的函数add_column
,该函数可以通过指定位置来添加列。默认情况下,它将创建该列作为最后一个列
library(tibble)
add_column(df1, col3 = 1)
# col1. col2 col3
#1 1 2 1
#2 4 5 1
#3 33 4 1
#4 5 3 1
但是,如果我们需要将其更改为特定位置,则会有参数
add_column(df1, col3 = 1, .after = 1)
# col1. col3 col2
#1 1 1 2
#2 4 1 5
#3 33 1 4
#4 5 1 3
df1 <- structure(list(col1. = c(1, 4, 33, 5), col2 = c(2, 5, 4, 3)),
class = "data.frame", row.names = c(NA,
-4L))