【发布时间】:2017-03-26 15:05:18
【问题描述】:
我有一个包含a 列的数据框:
x = data.frame(
"a" = c(F, F, F, T,
F, T, T, F,
T, T, F)
)
我想知道每个例如4 行 a 的频率是 T 并将此值应用于新列 b,因此对于前 4 行 T 的频率是 1/4,对于接下来的 4 行T 的频率是 2/4,其余 3 行 T 的频率是 2/3:
x$b = c(0.25,0,25,0.25,0.25
0.5,0.5,0.5,0.5,
0.66,0.66,0.66)
我可以通过使用tapply 获得列a 的频率,但这给了我一个列表而不是向量。
如果不使用外部库,我将不胜感激。
【问题讨论】:
-
如果您已经知道如何使用 tapply 实现预期输出,为什么不直接将列表转换为向量?
标签: r