如何随机打乱R数据帧中单列的内容?
在本文中,我们将学习如何使用 R 编程语言随机打乱单列的内容。
正在使用的示例数据框:c1 c2 c3 a1 w1 1a b2 x2 2b c3 y3 3c d4 z4 4d
方法一:使用sample()
在这种方法中,我们使用了转换函数来修改我们的数据帧,然后我们传递了我们想要修改的列名,然后我们提供了我们想要修改数据帧列的函数。
在给定的示例中,我们在sample()函数中传递数据帧的 c2 列,该函数对 c2 列进行混洗,然后通过执行以下操作将其重新分配给 c2 列: c2=sample(c2)
Syntax: transform( df, column_name = sample(column_name))
Parameters:
df: Dataframe object
column_name: column to be shuffled
sample(): shuffles the dataframe column
transform()函数用于修改数据。它将第一个参数转换为数据框。此函数用于以快速简便的方式转换/修改数据框。
示例:随机混洗一列内容的 R 程序
R
R
R
输出:
c1 c2 c3
1 a1 y3 1a
2 b2 w1 2b
3 c3 x2 3c
4 d4 z4 4d
方法二:不使用transform()
旧数据帧的列在此处传递以创建新数据帧。在此过程中,我们在此处对 c3 列使用了 sample()函数,因此创建的新数据帧对 c3 列的值进行了混洗。此过程可用于随机混洗数据帧的多列。
句法:
data.frame(c1=df$c1, c2=df$c2, c3=sample(df$c2))
示例:随机混洗一列内容的 R 程序
电阻
输出:
c1 c2 c3
1 a1 w1 w1
2 b2 x2 y3
3 c3 y3 z4
4 d4 z4 x2
方法三:随机混洗多列
这种方法与之前的方法几乎相似。这里唯一的区别是我们在多列上使用 sample()函数,这会随机打乱这些列。我们在 c2 和 c3 列上调用了示例函数,由于这些列, c2 和 c3 被打乱了。
语法:
data.frame(c1=df$c1, c2=sample(df$c2), c3=sample(df$c2))
示例:随机混洗一列内容的 R 程序
电阻
输出:
c1 c2 c3
1 a1 w1 x2
2 b2 y3 z4
3 c3 x2 w1
4 d4 z4 y3