查找相似的名称并获得它们的平均值

时间:2017-03-17 04:32:23

标签: r numbers duplicates

 name      reading
 1201_a     24
 1201_b     25
 1301_a     12
 a_1201_01  12
 a_1201_02  14
 a_1201_03  26
 b_1301     25

我有一张这样的桌子,如果它们的起始名称相同,我需要得到读数的平均值。在此表中,我想要取平均值1201_a1201_b; a_1201_01a_1201_02a_1201_03,但如果文件是唯一的,我希望获得相同的读数,1301_aa_1301。我知道我不能复制,因为名称不完全相同。请指导我如何为此目的编写R代码。

1 个答案:

答案 0 :(得分:0)

我们可以使用<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <group android:checkableBehavior="single"> <item android:id="@+id/nav_camera" android:icon="@drawable/ic_menu_camera" android:title="Import"/> <item android:id="@+id/nav_gallery" android:icon="@drawable/ic_menu_gallery" android:title="Gallery"/> <item android:id="@+id/nav_slideshow" android:icon="@drawable/ic_menu_slideshow" android:title="Slideshow"/> <item android:id="@+id/nav_manage" android:icon="@drawable/ic_menu_manage" android:title="Tools"/> </group> <item android:title="Communicate"> <menu> <item android:id="@+id/nav_share" android:icon="@drawable/ic_menu_share" android:title="Share"/> <item android:id="@+id/nav_send" android:icon="@drawable/ic_menu_send" android:title="Send"/> </menu> </item> </menu>

执行此操作
data.table

数据

library(data.table)
setDT(df2)[, .(reading = mean(reading)), .(name = sub("^([a-z])_(\\d+).*", "\\2_\\1", name))]
#     name reading
#1: 1201_a      19
#2: 1201_b      25
#3: 1301_a      12
#4: 1301_b      25