【问题标题】:Randomly shuffle columns except first column随机打乱除第一列以外的列
【发布时间】:2016-06-25 22:54:30
【问题描述】:

我想随机打乱数据框中的所有列,第一列除外。第一列应保留在原位。

到目前为止,我只知道如何打乱所有列,但这包括第一列。

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

有什么建议吗?

【问题讨论】:

    标签: r random shuffle


    【解决方案1】:

    只排除第一个:

    df[, c(1, sample(2:ncol(df)))]
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-05
    • 1970-01-01
    • 1970-01-01
    • 2013-12-10
    • 1970-01-01
    相关资源
    最近更新 更多