假设我有一个简单的dataframe,如下所示:
ID number
A1 5
A2 10
B1 7
C4 3
D8 2
我必须对dataframe进行一些维护,方法是根据另一行的精确值或multiple的计算来添加新行。例如,如果我需要创建以下行:
ID=B2, number= B1's number
ID=C7, number= C4's number
ID=A3, number= (A1's number+A2's number)/2
ID=C9, number= A2's number
将这些行添加到dataframe将产生以下结果:
ID number
A1 5
A2 10
B1 7
C4 3
D8 2
B2 7
C7 3
A3 7.5
C9 10
我如何创建这些新行,从 Dataframe 中计算值并在ID列中添加新的ID
s?最好是可伸缩的,这样我就可以根据我的公式生成尽可能多的新行,并且最好使用dplyr
或tidyverse
。
2条答案
按热度按时间jchrr9hc1#
创建一个新的 Dataframe ,然后将其堆叠在原始 Dataframe 下。如果要手工编码(因为似乎没有可编程模式),我喜欢
tribble()
函数用于按行创建表:您可以使用
with()
和上面的方法来保存大量的输入:nfeuvbwi2#
我们可以使用
bind_rows
并在创建这些行的 Dataframe 后绑定df
和所需的行:另一种选择是使用
add_row()
: