在R中的多个csv文件中的一个点生成数据

时间:2013-06-20 14:23:28

标签: r

我正在尝试在5个不同的数据表中创建一个变量。

即。我在每个单独的CSV文件中都有精神障碍的数据。如何在每个文件中仅跟踪一个变量(例如自闭症)并将其放入一个变量中?

这是我到目前为止所做的:

d2000 <- read.table("C:/AL00.csv")
d2001 <- read.table("C:/AL01.csv")
d2002 <- read.table("C:/AL02.csv")
d2003 <- read.table("C:/AL03.csv")

rownames(d2000) <- d2000[,3]
rownames(d2001) <- d2001[,3]
rownames(d2002) <- d2002[,3]
rownames(d2003) <- d2003[,3]

ASD = c(d2000["Autism","Total"],d2001["Autism","Total"],d2002["Autism","Total"])

这不起作用。我尝试只输入一个数据点:

>d2000["Autism","Total"]
[1] 2,763
Levels: 1,075 1,480 2,763

输出正确的数字,但这些“级别”是什么?他们是我的问题,如果是的话,我该如何解决?

1 个答案:

答案 0 :(得分:0)

我会做这样的事情:

ll <- lapply(list.files(pattern="AL[0-9]+.*csv",full.names=TRUE),
             function(x) read.table(x, stringsAsFactors=FALSE))
res <- do.call(rbind,ll)[,'Autism']

这将为您提供载体上的自闭症列。然后将它转换为数字,你可以做一些正则表达式:

as.numeric(gsub(',','',res))