Los Frames son estructuras que admiten diferentes tipos de datos en la misma estructura y que permiten operar con ellas siempre y cuando los tipos de datos lo permitan.
datos<-matrix(c(20,65,174,22,70,180,19,68,170),nrow=3,byrow=T) dimnames(datos)<-list(c("peter","juan","maria"), c("edad","peso","altura")) provincia<-c("cadiz","soria","madrid") frame<-data.frame(datos,provincia) frame edad peso altura provincia peter 20 65 174 cadiz juan 22 70 180 soria maria 19 68 170 madrid mean(frame[,"edad"]) # El calculo no da errores aunque se tengan diferentes tipos de datos [1] 20.33333 apply(frame,2,mean) # Muestra un error ya que una de las variables es categórica y no numérica edad peso altura provincia NA NA NA NA Warning messages... apply(frame[,1:3],2,mean) # Evitaríamos que nos diese error si le excluirmos de la media edad peso altura 20.33333 67.66667 174.66667
Unir dos dataframes
Inner join:merge(df1, df2)
Outer join:merge(x = df1, y = df2, by = "id_comun", all = TRUE)
Left outer:merge(x = df1, y = df2, by = "id_comun", all.x = TRUE)
Right outer:merge(x = df1, y = df2, by = "id_comun", all.y = TRUE)
Cross join:merge(x = df1, y = df2, by = NULL)
Reemplazar caracteres especiales por tildes en todo el dataframe
library(dplyr)
library(stringr)
ciudad <- c("Francia","España","Japón")
edad <- c (25,14,25)
datos <- data.frame(ciudad, edad)
dic_caracteres_especiales <- function(x){
if(is.character(x) || is.factor(x)){
x <- gsub("ñ","ñ",x)
x <- gsub("á","á",x)
x <- gsub("é","é",x)
x <- gsub("Ã\\*","í",x)
x <- gsub("ó","ó",x)
x <- gsub("ú","ú",x)
}else{ x }
}
datos <- mutate_all(datos, funs(dic_caracteres_especiales))
datos
ciudad edad
1 Francia 25
2 España 14
3 Japón 25
0 comentarios