【发布时间】:2017-06-26 16:48:06
【问题描述】:
我在 R 中有一个巨大的数据框 (A),如下所示:
Letters Frequency Numbers
a 0.15 1
b 0.67 2
c 0.85 7
d 0.4 3
我想先根据“频率”列的取值范围(4个大小为0.25的频率箱)将A分成4个数据框,从0到1,这样我得到:
A1 [0, 0.25]
Letters Frequency Numbers
a 0.15 1
A2 [0.25, 0.5]
Letters Frequency Numbers
d 0.4 3
A3 [0.5, 0.75]
Letters Frequency Numbers
b 0.67 2
A4 [0.75, 1]
Letters Frequency Numbers
c 0.85 7
以迭代方式并按照频率区间的顺序,我想在 A1、A2、A3 和 A4 中执行数学运算(例如,op1 = Numbers - 2;op2 = Numbers * 10)并创建一个数据带有附加结果的框架 B:
B
bin op1 op2
[0, 0.25] -1 10
[0.25, 0.5] 1 30
[0.5, 0.75] 0 20
[0.75, 1] 5 70
我想我不需要创建 A1、A2、A3 和 A4(理想情况下我只想与 A 一起工作),并且有一种更优雅的方法可以通过直接遍历频率箱来获得 B,但是我在这个例子中创建它们是为了清楚地解释原理。我认为这可以通过 lapply 完成,但我不确定如何。非常感谢您。
【问题讨论】: