R中每列的平均值

时间:2016-08-18 14:18:34

标签: r dataframe statistics

如何,我可以得到每列的平均值,每列包含多个值,并且有1000列。出于效率原因,我不想使用循环。 我尝试过colmeans,rowmeans。

数据格式=所有行的每个col都是一个数据帧,所有这些数据帧都保存在列表中

For example data look like 
list_of_df=        
    col1                     col2         .........coln
 v1 c(10,11,12....)     c(12,11,9....)              c(12,11,9....)
 v2 c(1,1,1,1,1,1...)   c(1,1,1,1,1,1...)           c(1,1,1,1,1,1...)
 v3 c(0 ,0,1,2,3,..)    c(0 ,0,2,2,2,3,..)          c(0 ,0,2,2,2,3,..)
 v4 c(date1,dat2,....)  c(date1,dat2,....)          c(date1,dat2,....)

我想计算每列的V1行的平均值。

谢谢

3 个答案:

答案 0 :(得分:1)

我得到了解决方案,我的问题的解决方案是

@RequestMapping(
         value="person", 
         method=RequestMethod.POST,
         consumes="application/json",
         produces="application/json")
@ResponseBody
public List<String> savePerson(@RequestBody Person[] personArray) {
    List<String> response = new ArrayList<String>();
    for (Person person: personArray) {
        personService.save(person);
        response.add("Saved person: " + person.toString());
    }
    return response;
}

答案 1 :(得分:0)

尝试colMeans(YourDataStructure [1,])。

答案 2 :(得分:0)

如果不使用dput数据结构,就很难提供方法。但根据您的描述,您可以尝试:

MeanResults <-
   lapply(list_of_df,
      function(dat) {
        mean(dat["V1",])
      })

如果你需要它作为向量,你可以unlist

您应该考虑是否可以在更好的结构中获取数据以进行操作,从长远来看,您将节省时间和精力:)