【发布时间】:2015-06-27 16:52:00
【问题描述】:
我真的很难弄清楚如何对我按定量值划分数据并基于这些组总结描述性统计数据的排序进行反向分析。
为了帮助解释,请查看下面的玩具数据框,该数据框捕获了我的问题。
structure(list(ID = 1:10, Color = structure(c(3L, 3L, 1L, 2L,
1L, 1L, 3L, 3L, 4L, 2L), .Label = c("blue", "green", "red", "yellow"
), class = "factor"), Type = structure(c(3L, 2L, 1L, 2L, 2L,
1L, 2L, 3L, 3L, 2L), .Label = c("Both", "Indoor", "Outdoor"), class = "factor"),
W1 = c(74.22, 78.59, 45.82, 41.9, 83.44, 97.76, 38.41, 140.68,
65.95, 64.46), W2 = c(26.86, 138.8, 41.75, 95.32, 17.57,
23.13, 84.81, 93.33, 104.31, 67.66), W3 = c(42.25, 56.37,
105.95, 72.64, 82.6, 90.55, 54.55, 122.41, 29.03, 44.09),
W4 = c(68.77, 12.67, 58.69, 125.95, 24.33, 34.84, 113.12,
10.02, 127.05, 60.3), W5 = c(28.93, 99.35, 126.18, 84.31,
138.55, 6.18, 144.63, 99.31, 40.76, 9.42), W6 = c(130.24,
149.72, 124.67, 118.97, 102.55, 96.96, 135.88, 38.08, 69.69,
120), W7 = c(1.94, 94.22, 12.66, 29.71, 137.53, 116.29, 145.58,
40.32, 44.51, 99.16), W8 = c(41.61, 147.42, 40.82, 143.51,
114.19, 83.16, 108.72, 86.37, 16.6, 91.13)), .Names = c("ID",
"Color", "Type", "W1", "W2", "W3", "W4", "W5", "W6", "W7", "W8"
), class = "data.frame", row.names = c(NA, -10L))
我想要对这些数据执行的操作是循环以 W 开头的列,这些列显示不同时间点的值。具体来说,我想说:对于每一列,基于“大于 100”之类的值条件的子集,然后根据该子集总结定性列(颜色和类型),并使用统计信息(例如每个分组的计数)星期。
因此,它涉及对每一列应用一个函数,然后使用每一列中的特定子集来返回基于两列的汇总统计信息。从广义上讲,我过去曾使用 plyr 和 dplyr 包对不同组的数字进行分组和汇总。所以在这种情况下,我可以弄清楚如何在这个 df 上使用 numcolwise(mean) 来查看每种颜色的平均值。但我想不出如何进行这种变化。
非常感谢您的帮助。
【问题讨论】: