¿Cómo barajar aleatoriamente el contenido de una sola columna en el marco de datos R?

En este artículo, aprenderemos cómo podemos mezclar aleatoriamente el contenido de una sola columna utilizando el lenguaje de programación R.

Marco de datos de muestra en uso:

c1 c2 c3
a1 w1 1a
b2 x2 2b
c3 y3 3c
d4 z4 4d

Método 1: Usar muestra()

En este enfoque, hemos utilizado la función de transformación para modificar nuestro marco de datos, luego hemos pasado el nombre de la columna que queremos modificar, luego proporcionamos la función según la cual queremos modificar la columna del marco de datos. 

En el ejemplo dado, estamos pasando la columna c2 de nuestro marco de datos en la función muestra() , esta función mezcla la columna c2 y luego la reasignamos a la columna c2, haciendo: c2 = muestra (c2)

Sintaxis: transform( df, nombre_columna = muestra(nombre_columna))

Parámetros:

df: objeto de marco de datos

column_name: columna a barajar

sample(): baraja la columna del marco de datos

La función transform() se utiliza para modificar datos. Convierte el primer argumento en el marco de datos. Esta función se utiliza para transformar/modificar el marco de datos de forma rápida y sencilla.

Ejemplo: programa R para barajar aleatoriamente el contenido de una columna

R

df <- data.frame(c1=c("a1", "b2", "c3", "d4"),
c2=c("w1", "x2", "y3", "z4"),
c3=c("1a", "2b", "3c", "4d"))
df_shuffled=transform( df, c2 = sample(c2))
df_shuffled

Producción:

  c1 c2 c3
1 a1 y3 1a
2 b2 w1 2b
3 c3 x2 3c
4 d4 z4 4d

Método 2: sin usar transform()

Las columnas del antiguo marco de datos se pasan aquí para crear un nuevo marco de datos. En el proceso, hemos utilizado la función sample() en la columna c3 aquí, debido a esto, el nuevo marco de datos creado ha barajado los valores de la columna c3. Este proceso se puede utilizar para barajar aleatoriamente varias columnas del marco de datos.

Sintaxis:

data.frame(c1=df$c1, c2=df$c2, c3=muestra(df$c2))

Ejemplo: programa R para barajar aleatoriamente el contenido de una columna

R

df <- data.frame(c1=c("a1", "b2", "c3", "d4"),
c2=c("w1", "x2", "y3", "z4"),
c3=c("1a", "2b", "3c", "4d"))
df_shuffled=data.frame(c1=df$c1, c2=df$c2, c3=sample(df$c2))
df_shuffled

Producción:

  c1 c2 c3
1 a1 w1 w1
2 b2 x2 y3
3 c3 y3 z4
4 d4 z4 x2

Método 3: barajar varias columnas al azar

Este enfoque es casi similar al enfoque anterior. La única diferencia aquí es que estamos usando la función sample() en varias columnas, esto mezcla aleatoriamente esas columnas. Hemos llamado a la función de muestra en las columnas c2 y c3, debido a que estas columnas, c2 y c3 están barajadas.

Sintaxis

data.frame(c1=df$c1, c2=muestra(df$c2), c3=muestra(df$c2))

Ejemplo: programa R para barajar aleatoriamente el contenido de una columna

R

df <- data.frame(c1=c("a1", "b2", "c3", "d4"),
c2=c("w1", "x2", "y3", "z4"),
c3=c("1a", "2b", "3c", "4d"))
df_shuffled=data.frame(c1=df$c1, c2=sample(df$c2), c3=sample(df$c2))
df_shuffled

Producción:

  c1 c2 c3
1 a1 w1 x2
2 b2 y3 z4
3 c3 x2 w1
4 d4 z4 y3

Publicación traducida automáticamente

Artículo escrito por sudhanshublaze y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *