visualizar mtcars functions español ejemplos data crear column r dataframe

functions - r data frame mtcars



¿Cómo agregar una nueva columna a un marco de datos(al frente, no al final)? (6)

Cómo agregar una nueva variable a un marco de datos existente, pero quiero agregar al frente y al final. p.ej. mi dataframe es

b c d 1 2 3 1 2 3 1 2 3

Quiero agregar una nueva variable a, para que el marco de datos se vea como

a b c d 0 1 2 3 0 1 2 3 0 1 2 3


Agregar la columna "a"

> df["a"] <- 0 > df b c d a 1 1 2 3 0 2 1 2 3 0 3 1 2 3 0

Ordenar por columna usando nombre de columna

> df <- df[c(''a'', ''b'', ''c'', ''d'')] > df a b c d 1 0 1 2 3 2 0 1 2 3 3 0 1 2 3

O ordenar por columna usando el índice

> df <- df[colnames(df)[c(4,1:3)]] > df a b c d 1 0 1 2 3 2 0 1 2 3 3 0 1 2 3


Las respuestas anteriores muestran 3 enfoques

  1. Al crear un nuevo marco de datos
  2. Al usar "cbind"
  3. Al agregar la columna "a", y ordenar el marco de datos por columnas usando nombres de columna o índices

Déjame mostrar el enfoque # 4 "Al usar" cbind "y" rename "que funciona para mi caso

1. Crear marco de datos

df <- data.frame(b = c(1, 1, 1), c = c(2, 2, 2), d = c(3, 3, 3))

2. Obtener valores para la columna "nueva"

new_column = c(0, 0, 0)

3. Combine la columna "nueva" con la existente

df <- cbind(new_column, df)

4. Cambie el nombre de la columna "nueva"

colnames(df)[1] <- "a"


Si desea hacerlo de manera tidyverse , intente add_column from tibble , que le permite especificar dónde colocar la nueva columna con el parámetro .before o .after :

library(tibble) df <- data.frame(b = c(1, 1, 1), c = c(2, 2, 2), d = c(3, 3, 3)) add_column(df, a = 0, .before = 1) # a b c d # 1 0 1 2 3 # 2 0 1 2 3 # 3 0 1 2 3


Use cbind por ejemplo

df <- data.frame(b = runif(6), c = rnorm(6)) cbind(a = 0, df)

dando:

> cbind(a = 0, df) a b c 1 0 0.5437436 -0.1374967 2 0 0.5634469 -1.0777253 3 0 0.9018029 -0.8749269 4 0 0.1649184 -0.4720979 5 0 0.6992595 0.6219001 6 0 0.6907937 -1.7416569


cbind inherents orden por su orden de argumento.

El usuario su primera columna (s) como su primer argumento

cbind (fst_col, df)

fst_col df_col1 df_col2 1 0 0.2 -0.1 2 0 0.2 -0.1 3 0 0.2 -0.1 4 0 0.2 -0.1 5 0 0.2 -0.1

cbind (df, last_col)

df_col1 df_col2 last_col 1 0.2 -0.1 0 2 0.2 -0.1 0 3 0.2 -0.1 0 4 0.2 -0.1 0 5 0.2 -0.1 0


df <- data.frame(b = c(1, 1, 1), c = c(2, 2, 2), d = c(3, 3, 3)) df ## b c d ## 1 1 2 3 ## 2 1 2 3 ## 3 1 2 3 df <- data.frame(a = c(0, 0, 0), df) df ## a b c d ## 1 0 1 2 3 ## 2 0 1 2 3 ## 3 0 1 2 3