Ich habe einen Excel-Datensatz importiert und fast alle Spalten (größer als 90) auf numerisch festgelegt, wenn sie anfänglich Zeichen sind. Was ist der beste Weg, um dies zu erreichen, da das Importieren und Ändern von einzelnen Stück für Stück nicht der effizienteste ist?Massenverändernde Spalten eines Datensatzes zu numerischen
4
A
Antwort
0
Dies sollte tun, wie Sie wollen:
# Random data frame for illustration (100 columns wide)
df <- data.frame(replicate(100,sample(0:1,1000,rep=TRUE)))
# Check column names/return column number (just encase you wanted to check)
colnames(df)
# Specify columns
cols <- c(1:length(df)) # length(df) is useful as if you ever add more columns at later date
# Or if only want to specify specific column numbers:
# cols <- c(1:100)
#With help of magrittr pipe function change all to numeric
library(magrittr)
df[,cols] %<>% lapply(function(x) as.numeric(as.character(x)))
# Check our columns are numeric
str(df)
0
Vorausgesetzt, dass Ihre Daten sind bereits mit allen Zeichenspalten importiert haben, können Sie die entsprechenden Spalten konvertieren mit mutate_at
von Position oder Namen Numerisch:
suppressPackageStartupMessages(library(tidyverse))
# Assume the imported excel file has 5 columns a to e
df <- tibble(a = as.character(1:3),
b = as.character(5:7),
c = as.character(8:10),
d = as.character(2:4),
e = as.character(2:4))
# select the columns by position (convert all except 'b')
df %>% mutate_at(c(1, 3:5), as.numeric)
#> # A tibble: 3 x 5
#> a b c d e
#> <dbl> <chr> <dbl> <dbl> <dbl>
#> 1 1 5 8 2 2
#> 2 2 6 9 3 3
#> 3 3 7 10 4 4
# or drop the columns that shouldn't be used ('b' and 'd' should stay as chr)
df %>% mutate_at(-c(2, 4), as.numeric)
#> # A tibble: 3 x 5
#> a b c d e
#> <dbl> <chr> <dbl> <chr> <dbl>
#> 1 1 5 8 2 2
#> 2 2 6 9 3 3
#> 3 3 7 10 4 4
# select the columns by name
df %>% mutate_at(c("a", "c", "d", "e"), as.numeric)
#> # A tibble: 3 x 5
#> a b c d e
#> <dbl> <chr> <dbl> <dbl> <dbl>
#> 1 1 5 8 2 2
#> 2 2 6 9 3 3
#> 3 3 7 10 4 4
Verwandte Themen
- 1. Vergleichen von Spalten eines Datensatzes mit Python
- 2. Kopieren eines Datensatzes in VBA
- 3. SAS: Konvertieren eines Datensatzes aus Zeilen in Spalten
- 4. Altern eines Datensatzes
- 5. Unselect Spalten der importierten Datensatzes - selectInput - Shiny
- 6. Erstellen eines Datensatzes
- 7. Sqlite Aktualisieren eines Datensatzes
- 8. Durchsuchen eines HDF5-Datensatzes
- 9. Etikettieren eines gestapelten Datensatzes
- 10. Hinzufügen eines Datensatzes zu einer Junction-Tabelle beim Aktualisieren eines Datensatzes
- 11. Arbeiten an einer Spalte eines Datensatzes
- 12. Aktualisieren eines Datensatzes mit SQL
- 13. Mehrere Instanzen eines Datensatzes auswählen
- 14. Größe eines einzelnen Datensatzes? SQL
- 15. Erzwingen eines Datensatzes in PureScript
- 16. Untergruppen eines Pytorch-Datensatzes nehmen
- 17. Analysieren eines gemischten Delimiter-Datensatzes
- 18. Codierung eines Datensatzes mit Protobuff
- 19. Drucken eines Datensatzes in Javascript
- 20. Verständnis Shannon Entropie eines Datensatzes
- 21. Montage eines Datensatzes von AWS
- 22. Django - Löschen eines bestimmten Datensatzes
- 23. Polymorphe Assoziation, Erstellen eines Datensatzes
- 24. Wandeln Sie alle numerischen Spalten von Datenrahmen zu absoluten Wert
- 25. transformiere alle Spalten, die NAs sind von numerischen zu Faktoren
- 26. Hinzufügen eines neuen Datensatzes zu einem Unterformular in VBA
- 27. Einfügen eines Datensatzes Entity Framework
- 28. Eloquent: Count eines bestehenden Datensatzes
- 29. Exponentiellen Wert eines Datensatzes berechnen
- 30. Lineare Regression eines gegebenen Datensatzes
Möchten Sie dies in Excel tun oder Sie haben die Datei nach Code importiert und möchten die Änderung in Ihrem Code vornehmen? – STF
Mein Fehler, ich hätte angeben sollen, dass dies für R war. Ich versuche ein Excel-Dataset zu importieren, aber es wird nicht als numerisch kommen und die stringsAsFactor = FALSE scheint nicht zu funktionieren. –
Sie können 'sapply (foo.df," as.numeric ")' verwenden, um Variablen in numerische Form zu konvertieren. –