Bibliothek(tidyverse)
Bibliothek(stringr)
## SCHRITTE ZUR VERWENDUNG DIESER FUNKTIONEN:
## 1. DEFINIEREN SIE DAS OBJEKT „PATH_FILE“, DAS EINEN PFAD ZUM VERZEICHNIS IST, WO
## ALLE DATENSÄTZE WERDEN GESPEICHERT.
## 2. Wenden Sie die Funktion „get_names_labels“ mit dem Pfad an. DIE FUNKTION WIRD
## RÜCKKEHR EINEN DATAFRAME NAMES ’names_labels‘.
## 3. DIE FUNKTION WIRD EINEN DATENSATZ („names_labels“) ZURÜCKGEBEN, DER DIE NAMEN VON ZEIGT
## DIE VARIABLEN, DIE BEZEICHNUNGEN UND DER DATENSATZ. VISUELL/MANUELL ENTDECKEN
## DATENSATZ ZUR AUSWAHL DER VARIABLEN, DIE WIR BENÖTIGEN. ERSTELLEN SIE EINEN VEKTOR MIT DEN NAMEN
## DER VARIABLEN, DIE WIR BENÖTIGEN, UND NAMEN DIESEN VEKTOR „variables_needed“.
## 4. BEHALTEN SIE AUS DEM DATENSATZ „names_labels“ NUR DIE ZEILEN MIT DEN VARIABLEN WE
## WIRD VERWENDET (GESPEICHERT IM VEKTOR „variables_needed“).
## 5. Wenden Sie die Funktion „read_and_select“ auf jeden relevanten Datensatz an
## VARIABLEN. DIESE FUNKTION BENÖTIGT NUR DEN NAMEN DES DATENSATZES
## IN DER LETZTEN SPALTE DES DATENSATZES „names_labels“ GESPEICHERT.
### FUNKTION ZU 1) ALLE DATENSÄTZE IN EINEM ORDNER LESEN; 2) NAMEN UND ETIKETTEN EXTRAHIEREN;
### 3) NAMEN UND ETIKETTEN IN EINEN DATENSATZ EINFÜGEN; UND 4) DEN DATENSATZ ZURÜCKGEBEN. DIE EINZIGE
### ERFORDERLICHE EINGABE IST EIN PFAD ZU EINEM VERZEICHNIS, IN DEM ALLE DATENSÄTZE GESPEICHERT WERDEN.
get_names_labels <- operate(path_file){
results_df <- checklist()
sas_files <- c(
checklist.recordsdata(path = path_file, sample = „.sas7bdat$“)
)
for (i in 1:size(sas_files)) {
print(sas_files(i))
# Lesen Sie die SAS-Datei
sas_data <- read_sas(paste0(path_file, sas_files(i)))
sas_data <- as.information.body(sas_data)
# Holen Sie sich die Variablennamen und Beschriftungen
var_names <- title(sas_data)
Etiketten <- sas_data %>%
map(~attributes(.)$label) %>%
map_chr(~ifelse(is.null(.), NA, .))
# Kombinieren Sie die Variablennamen und Beschriftungen in einem Datenrahmen
var_df <- information.body(
variable_name = var_names,
variable_label = Etiketten,
Dateiname = sas_files(i),
stringsAsFactors = FALSE
)
# Hängen Sie die Ergebnisse an den gesamten Datenrahmen an
results_df((i)) <- var_df
}
results_df <- do.name(rbind, results_df)
#return(results_df)
zuweisen(’names_labels‘, results_df, envir = .GlobalEnv)
}
############################################### #############################
### FUNKTION ZUM LESEN JEDER DATENSATZ UND BEIBEHALTEN NUR DER VON UNS AUSGEWÄHLTEN VARIABLEN; DER
###-FUNKTION SPEICHERT JEDEN DATENSATZ IN DER UMGEBUNG. DIE EINZIGE EINGABE IST DIE
### NAME DES DATENSATZES.
read_and_select <- operate(df_file){
df_tmp <- read_sas(paste0(path_file, df_file))
df_tmp <- df_tmp %>%
choose(distinctive(names_labels(which(names_labels$file_name == df_file), )$variable_name)) %>%
as.information.body()
Assign(str_extract(df_file, „(^.)+“), df_tmp,envir = .GlobalEnv)
}
############################################### #############################