2014-02-26 106 views
1

我是R新手,我试图从JSON文件中获取学生成绩,并做直方图并计算平均分数,但我不确定是否有更简单的方法来获取所有来自JSON字符串的分数来做平均值。以下是我的代码:R脚本中的列表平均值

library("RJSONIO") 

students='[{"SSN":"1234","score":99},{"SSN":"1235","score":100},{"SSN":"1236","score":84}]'; 
students <- fromJSON(students); 

scores = list(); 
i = 1; 

for (rec in students){ 
    scores[i]=rec$score; 
    i=i+1; 
} 

非常感谢提前。

回答

2

可以使用lapply函数提取从每个列表元素score值,然后用unlist的结果转换为矢量:

scores <- unlist(lapply(students, function(x) x$score)) 
scores 
# [1] 99 100 84 

现在,你可以使用mean(scores)来获得平均。