随机洗牌除第一列之外的列 [英] Randomly shuffle columns except first column

查看:56
本文介绍了随机洗牌除第一列之外的列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想随机打乱数据框中的所有列,除了第一列.第 1 列应保留在其位置.

I want to randomly shuffle all columns in a data frame, except the 1st column. The 1st column should remain in its place.

到目前为止,我只知道如何调整所有列,但这包括第一列.

So far I've only figured out how to shuffle all columns, but this includes the first column.

df <- data.frame(matrix(rnorm(20),nrow=5))
df <- df[,sample(ncol(df))]

这里,X1 应该留在原位,而 X2、X3 和 X4 应该随机打乱.

Here, X1 should remain in its place while X2, X3 and X4 should be shuffled randomly.

> 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

有什么建议吗?

推荐答案

只排除第一个:

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

这篇关于随机洗牌除第一列之外的列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆