vectores una studio recorrer matriz matrices llenar extraer elementos ejemplos datos cambiar almacenar agregar r vector dataframe coercion

una - recorrer un vector en matlab



Conversión de dos columnas de un marco de datos a un vector nombrado (3)

Para unlist , intente split y unlist :

unlist(split(as.character(dd$name), dd$crit)) # a b c d # "Alpha" "Beta" "Caesar" "Doris"

Necesito convertir un data.frame dos columnas y data.frame en un vector de caracteres con nombre. Mi data.frame sería algo así como:

dd = data.frame(crit = c("a","b","c","d"), name = c("Alpha", "Beta", "Caesar", "Doris") )

y lo que realmente necesito sería:

whatiwant = c("a" = "Alpha", "b" = "Beta", "c" = "Caesar", "d" = "Doris")


Puede hacer un vector desde dd$name y agregar nombres usando names() , pero puede hacerlo todo en un solo paso con structure() :

whatiwant <- structure(as.character(dd$name), names = as.character(dd$crit))


Use la función de names :

whatyouwant <- as.character(dd$name) names(whatyouwant) <- dd$crit

as.character es necesario, porque data.frame y read.table convierten los caracteres en factores con configuraciones predeterminadas.

Si quieres un trazador de líneas único:

whatyouwant <- setNames(as.character(dd$name), dd$crit)