我有以下几行代码,它们试图对数据表的列进行洗牌并重命名。
rm(list = ls(all.names = TRUE))
cat('\14')
library(data.table)
library(stringr)
DF<-matrix(nrow = 10,ncol=5)
DF<-data.frame(DF)
colnames(DF)<-c(1,2,3,4,5)
DF.Old <- DF
DFID <- DF$`1`
DF$`1` <- NULL
Int.Vals <- colnames(DF)
print(Int.Vals)
Jumble.Int.Vals <- sample(colnames(DF))
DF <- setcolorder(DF,Jumble.Int.Vals)
print(Int.Vals)
当从脚本文件(CTRL + SHIFT + S)一起执行此操作时,变量Int.Vals
({2,3,4,5}
且未触及最后三行)变为洗牌,如{5,4,3,2}
。这只发生在我执行行收集时,如果我逐行执行脚本而Int.Vals
未更改,则不会发生这种情况。
我发现这在逻辑上是不一致的。任何人都可以指出,为什么会发生这种情况?