开发者

How to get a .csv file into R?

开发者 https://www.devze.com 2023-01-10 11:13 出处:网络
I have this .csv file: ID,GRADES,GPA,Teacher,State 3,\"C\",2,\"Teacher3\",\"MA\" 1,\"A\",4,\"Teacher1\",\"California\"

I have this .csv file:

ID,GRADES,GPA,Teacher,State

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

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

And what I want to do is read in the file using the R statistical software and read in the Header into some kind of list or array (I'm new to R and have been looking for how to do this, but so far have had no luck).

Here's som开发者_JAVA百科e pseudocode of what I want to do:

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

for eachitem in row1:{

add eachitem to list
}

Then I want to be able to use those names to call on each vertical column so that I can perform calculations.

I've been scouring over google for an hour, trying to find out how to this but there is not much out there on dealing with headers specifically.

Thanks for your help!


You mention that you will call on each vertical column so that you can perform calculations. I assume that you just want to examine each single variable. This can be done through the following.

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

df$ID

df$GRADES

df$GPA

Might be helpful just to assign the data to a variable.

var3 <- df$GPA


You need read.csv("C:/somedirectory/some/file.csv") and in general it doesn't hurt to actually look at the help page including its example section at the bottom.


As Dirk said, the function you are after is 'read.csv' or one of the other read.table variants. Given your sample data above, I think you will want to do something like this:

setwd("c:/random/directory")

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

All we did in the above was set the directory to where your .csv file is and then read the .csv into a dataframe named df. You can check that the data loaded properly by checking the structure of the object with:

str(df)

Assuming the data loaded properly, you can think go on to perform any number of statistical methods with the data in your data frame. I think summary(df) would be a good place to start. Learning how to use the help in R will be immensely useful, and a quick read through the help on CRAN will save you lots of time in the future: http://cran.r-project.org/


You can use

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,])
    }

Also, you may want to have a look to the apply function (type ?apply or help(apply))if you want to use the same function on each row/column


Please check this out if it helps you

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

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

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

a[4] $V4 [1] Teacher Levels: Teacher

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


Since you say you want to access by position once your data is read in, you should know about R's subsetting/ indexing functions.

The easiest is

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

Other methods are here. I personally use the dplyr package for intuitive data manipulation (not by position).

0

精彩评论

暂无评论...
验证码 换一张
取 消