我有一个dataframe,看起来像这样:
| 一个|B| C类|
| - -----|- -----|- -----|
| 标准|2|不适用|
| 数据1|不适用|4|
| 数据2|不适用|八|
| 数据3|不适用|十六|
| 标准|三个|不适用|
| 数据4|不适用|九个|
| 数据5|不适用|二十七|
| 数据6|不适用|八十一|
最后,我想做的是根据公式将列C转换为另一个数字,使用列B的数据作为公式中的因子。理想地,这将进入第四列(D)。
对于与该对照值相关的所有样品,公式将是(B/16)*C。
所以最终的产品看起来像这样:
| 一个|B| C类|D级|
| - -----|- -----|- -----|- -----|
| 标准|2|不适用|不适用|
| 数据1|不适用|4| X型|
| 数据2|不适用|八|X型|
| 数据3|不适用|十六|X型|
| 标准|三个|不适用|不适用|
| 数据4|不适用|九个|X型|
| 数据5|不适用|二十七|X型|
| 数据6|不适用|八十一|X型|
实际上,我之前已经做过很多次了,但总是在B列被填满的时候。我从来没有用这种设置在行之间做过计算。
我看到的很多东西都是在两列都被填充的情况下引导人们进行计算,但我对如何执行这种转换有点困惑。
先谢谢你了!
2条答案
按热度按时间ldfqzlk81#
使用
dplyr
的方法。我解释这个问题,即公式应该以
A == "Standard"
为单位分组应用,因此假设数据集已经相应地排序。vohkndzv2#
在碱R中: