DATA.TABLE:在数据集中创建一个新列,在另一个中创建相同的列?

时间:2016-03-03 13:15:14

标签: r data.table

我对以下内容非常困惑: 使用data.table我正在创建一个数据帧作为现有数据帧的副本。然后我在新数据框中创建一个新列...原始数据框也获得新列!

df1<- c("A", "B", "C", "D", "E")
df1<-data.table(df1)
> head(df1)
df1
1:   A
2:   B
3:   C
4:   D
5:   E

df2 <- df1[]
df2 <- df2[,col2:=10,]

> head(df1)
    df1 col2
1:   A   10
2:   B   10
3:   C   10
4:   D   10
5:   E   10

请注意第二个头()是指原始数据帧,我不想要任何新列。 我尝试使用数据帧(非data.table)并且工作正常。

df1<- c("A", "B", "C", "D", "E")
df1<-as.data.frame(df1)
df2<-df1[]
df2$col2<-10

> head(df1)
  df1
1   A
2   B
3   C
4   D
5   E

Plaese建议。任何有益的帮助

1 个答案:

答案 0 :(得分:0)

我们可以使用copy,问题将得到解决

 df2 <- copy(df1)