我对以下内容非常困惑: 使用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建议。任何有益的帮助
答案 0 :(得分:0)
我们可以使用copy
,问题将得到解决
df2 <- copy(df1)