我想随机地移动数据框中的所有列,第1列除外。第一列应保留在原位。
到目前为止,我只知道如何对所有列进行随机播放,但这包括第一列。
df <- data.frame(matrix(rnorm(20),nrow=5))
df <- df[,sample(ncol(df))]
这里,X1应保留在原位,而X2,X3和X4应随机改组。
> df
X1 X2 X3 X4
1 0.2582514 -0.3615941 0.5114984 -0.6918975
2 1.8234944 -0.5024039 0.9252904 -1.0034840
3 0.1513888 0.1269615 -1.2987913 -0.7017240
4 -0.8194843 1.1256620 2.0126086 1.7089314
5 -0.6733888 -1.1731604 -0.1649225 -1.7343608
有什么建议吗?
答案 0 :(得分:1)
只需排除第一个:
df[, c(1, sample(2:ncol(df)))]