webentwicklung-frage-antwort-db.com.de

Wie bekomme ich eine .csv-Datei in R?

Ich habe diese CSV-Datei:

ID,GRADES,GPA,Teacher,State

3,"C",2,"Teacher3","MA"

1,"A",4,"Teacher1","California"

Und was ich tun möchte, ist das Lesen der Datei mit der Statistiksoftware R und das Lesen der Kopfzeile in eine Art Liste oder Array (ich bin neu bei R und habe nach dem Weg gesucht, aber bisher hatte es gesucht.) kein Glück).

Hier ist ein Pseudocode von dem, was ich tun möchte:

inputfile=read.csv("C:/somedirectory")

for eachitem in row1:{

add eachitem to list
}

Dann möchte ich diese Namen verwenden können, um in jeder vertikalen Spalte aufzurufen, damit ich Berechnungen ausführen kann.

Ich habe eine Stunde lang über Google gesucht und versucht, herauszufinden, wie das geht, aber es gibt nicht viel, was den Umgang mit Headern betrifft.

Danke für Ihre Hilfe! 

32
Brian

Sie erwähnen, dass Sie in jeder vertikalen Spalte aufrufen, um Berechnungen durchführen zu können. Ich gehe davon aus, dass Sie nur jede einzelne Variable untersuchen wollen. Dies kann folgendermaßen geschehen.

df <- read.csv("myRandomFile.csv", header=TRUE)

df$ID

df$GRADES

df$GPA

Könnte hilfreich sein, nur um die Daten einer Variablen zuzuweisen.

var3 <- df$GPA
43
ATMathew

Sie brauchen read.csv("C:/somedirectory/some/file.csv") und im Allgemeinen schadet es nicht, die Hilfeseite einschließlich des Beispielabschnitts unten anzusehen.

9

Wie Dirk sagte, ist die Funktion, nach der Sie suchen, 'read.csv' oder eine der anderen read.table-Varianten. In Anbetracht Ihrer oben genannten Beispieldaten möchten Sie wahrscheinlich Folgendes tun:

setwd("c:/random/directory")

df <- read.csv("myRandomFile.csv", header=TRUE)

Alles, was wir oben gemacht haben, war, das Verzeichnis auf die Position Ihrer CSV-Datei zu setzen und dann die CSV-Datei in ein Dataframe mit dem Namen DF zu lesen. Sie können das korrekte Laden der Daten überprüfen, indem Sie die Struktur des Objekts mit folgendem Befehl prüfen:

str(df)

Unter der Annahme, dass die Daten ordnungsgemäß geladen wurden, können Sie mit den Daten in Ihrem Datenrahmen eine beliebige Anzahl statistischer Methoden ausführen. Ich denke, summary(df) wäre ein guter Anfang. Die Verwendung der Hilfe in R zu erlernen wird sehr nützlich sein. Wenn Sie sich die Hilfe zu CRAN durchlesen, sparen Sie in der Zukunft viel Zeit: http://cran.r-project.org/

6
Chase

Sie können verwenden

df <- read.csv("filename.csv", header=TRUE)

# To loop each column
for (i in 1:ncol(df))
    {
    dosomething(df[,i])
    }
# To loop each row
for (i in 1:nrow(df))
    {
    dosomething(df[i,])
    }

Vielleicht möchten Sie auch die Funktion apply (Typ ?apply oder help(apply)) betrachten, wenn Sie für jede Zeile/Spalte dieselbe Funktion verwenden möchten

3
nico

Bitte überprüfen Sie dies, wenn es Ihnen hilft

df <-read.csv ("F: /test.csv", Header = FALSE, nrows = 1) df V1 V2 V3 V4 V5 1 ID-GRADES GPA-Lehrerstatus a <-c (df) a [1] $ V1 [1] ID Ebenen: ID

a [2] $ V2 [1] GRADES Stufen: GRADES

a [3] $ V3 [1] GPA Stufen: GPA

a [4] $ V4 [1] Lehrer Stufen: Lehrer

a [5] $ V5 [1] Zustand Levels: Zustand

1
Sandeep

Da Sie sagen, dass Sie nach dem Einlesen Ihrer Daten auf Position zugreifen möchten, sollten Sie die Subsetting-/Indizierungsfunktionen von R kennen. 

Das einfachste ist 

df[row,column]
#example
df[1:5,] #rows 1:5, all columns
df[,5] #all rows, column 5. 

Andere Methoden sind hier . Ich persönlich verwende das Paket dplyr für die intuitive Datenmanipulation (nicht nach Position).

0
jsl2