2014-02-26 162 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)來獲得平均。