如何将.csv文件导入R?

时间:2010-08-02 21:23:55

标签: r csv

我有这个.csv文件:

ID,GRADES,GPA,Teacher,State

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

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

我想要做的是使用R统计软件在文件中读取并在Header中读入某种列表或数组(我是R的新手并且一直在寻找如何做到这一点,但是远没有运气)。

这是我想要做的一些伪代码:

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

for eachitem in row1:{

add eachitem to list
}

然后我希望能够使用这些名称来调用每个垂直列,以便我可以执行计算。

我一直在谷歌搜索一个小时,试图找出如何做到这一点,但没有特别处理标题。

感谢您的帮助!

6 个答案:

答案 0 :(得分:45)

您提到您将调用每个垂直列,以便您可以执行计算。我假设您只想检查每个变量。这可以通过以下方式完成。

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

df$ID

df$GRADES

df$GPA

可能只是将数据分配给变量。

var3 <- df$GPA

答案 1 :(得分:9)

您需要read.csv("C:/somedirectory/some/file.csv"),一般来说,实际查看帮助页面(包括底部的示例部分)并没有什么坏处。

答案 2 :(得分:6)

正如Dirk所说,你所追求的功能是'read.csv'或其他read.table变种之一。鉴于上面的示例数据,我想你会想做这样的事情:

setwd("c:/random/directory")

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

我们在上面所做的只是设置了.csv文件所在的目录,然后将.csv读入名为df的数据帧。您可以通过检查对象的结构来检查数据是否正确加载:

str(df)

假设数据加载正确,您可以考虑继续使用数据框中的数据执行任意数量的统计方法。我认为summary(df)将是一个很好的起点。学习如何使用R中的帮助将非常有用,快速阅读有关CRAN的帮助将为您节省大量时间:http://cran.r-project.org/

答案 3 :(得分:3)

您可以使用

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

此外,如果要在每行/列上使用相同的函数,您可能需要查看apply函数(类型?applyhelp(apply)

答案 4 :(得分:1)

如果有帮助,请检查一下

  

DF&LT; -read.csv(&#34; F:/test.csv",标题= FALSE,NROWS = 1)   DF     V1 V2 V3 V4 V5   1 ID GRADES GPA教师状态   一个&LT; -C(DF)   一个[1]   $ V1   [1]身份证   级别:ID

     

A [2]   $ V2   [1]等级   级别:等级

     

[3]   $ V3   [1] GPA   级别:GPA

     

一个[4]   $ V4   [1]老师   级别:老师

     

一个[5]   $ V5   [1]国家   级别:状态

答案 5 :(得分:0)

由于您说在读入数据后想要按位置访问,因此您应该了解R的子集化​​/索引功能。

最简单的是

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

其他方法是here。我个人使用dplyr包来进行直观的数据操作(而不是按位置)。