分析R中的CSV数据

时间:2013-10-30 15:14:37

标签: r csv

我的CSV数据如下:

 code, label, value
 ABC,  len,   10
 ABC,  count, 20
 ABC,  data,  102
 ABC,  data,  212
 ABC,  data,  443
 ...
 XYZ,  len,   11
 XYZ,  count, 25
 XYZ,  data,  782
 ...

每个data的{​​{1}}条目数不同。 (这对我的问题无关紧要;我只是指出来。)

我需要分析每个code的{​​{1}}条目。这包括计算中位数,绘制图表等。这意味着我应该为每个data分出code并将其设为数字​​?

有没有比这种更好的方法:

data

2 个答案:

答案 0 :(得分:1)

splitlist2env允许您为每个x分隔您的data.frame code,为code中的每个级别生成一个data.frame:< / p>

list2env(split(x, x$code), envir=.GlobalEnv)

或只是

my.list <- split(x, x$code)

如果您更喜欢使用列表。

答案 1 :(得分:1)

我不确定我是否完全理解你问题的最终目标,你是否想要一些关于你能做什么的指示?因为有很多可能的解决方案。

当你问:我需要分析每个代码的数据条目。这包括计算中位数,绘制图表等。这意味着我应该将每个代码的数据分开并使其成为数字?

答案是否定的,你没有严格要求。您可以使用R函数为您执行此任务,例如:

x = read.csv('dataFile.csv', header=T)

#is it numeric?
class(x$value)
# if it is already numeric you shouldn't have to convert it,
# if it strictly numeric I don't know any reason why it 
# should be read as strings but it happens.

aggregate(x,by=list(x$code),FUN="median")

boxplot(value~code,data=x)
# and you can do ?boxplot to look into its options.