我的数据集有以下形式计算数据帧矢量
Name year val
”a” 1 25
”a” 1 75
”a” 2 20
”a” 2 40
”a” 2 60
”a” 3 50
”b” 1 20
”b” 2 10
”b” 2 20
”b” 2 30
”b” 3 40
”b” 3 60
所以它由名,年和值的条件平均值。我想通过名找到值(val
)的每个年和分组的平均水平。即,我感兴趣的是得到
Name year average terms in the average
”a” 1 50 2
”a” 2 40 3
”a” 3 NA 1
”b” 1 NA 1
”b” 2 20 3
”b” 3 50 2
在平均 -column它说:NA
每当有不到2个学期,我已经中再加入含有在平均使用的项数第四列。
这是相当多的操作,他们自然可以在for
-loop中完成。但是专业的R
是如何解决这个问题的?
数据
与data.tabledf = structure(list(name = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 2L,
2L, 2L, 2L, 2L, 2L), .Label = c("a", "b"), class = "factor"),
year = c(1, 1, 2, 2, 2, 3, 1, 2, 2, 2, 3, 3), val = c(25,
75, 20, 40, 60, 50, 20, 10, 20, 30, 40, 60)), .Names = c("name",
"year", "val"), row.names = c(NA, -12L), class = "data.frame")
不应该平均名称= 'A' 一年= 2是40? – G5W
您提供的df不是data.frame。 – Frank