J'ai plusieurs dataframes enregistrées dans un objet de liste. Ils partagent les deux mêmes noms de colonnes. Je voudrais renommer la deuxième colonne au nom du dataframe.
Exemple de données:
df1 <- data.frame(A = 1:10, B= 11:20)
df2 <- data.frame(A = 21:30, B = 31:40)
df3 <- data.frame(A = 31:40, B= 41:50)
df4 <- data.frame(A = 51:80, B = 61:70)
listDF <- list(df1, df2,df3, df4)
J'essaye d'utiliser lapply pour renommer la deuxième colonne pour qu'elle corresponde au nom du dataframe.
# trying to rename second column after the element of the list they're located in
listDF_2 <- lapply(names(listDF), function(x) setNames(listDF[[x]], x) )
Pour garder une trace des noms, vous pouvez utiliser:
listDF <- list(df1 = df1, df2 = df2, df3 = df3, df4 = df4)
Ensuite, vous pouvez utiliser la boucle for:
for (i in names(listDF)){
colnames(listDF[[i]]) <- c("A", i)
}
Ou si vous avez besoin d'utiliser lapply, vous pouvez utiliser ceci:
newDF <- lapply(names(listDF), function(x){
colnames(listDF[[x]]) <- c("A", x)
listDF[[x]]
})
names(newDF) <- names(listDF)
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras