R 如何按所选行值创建新行

R 如何按所选行值创建新行,r,dataframe,R,Dataframe,我有两个数据集需要连接,其中一个需要在R中修改 数据集如下所示: age_min age_max female male ID value date 18 24 0 1 10 324 2018-02-05 18 24 1 0 10 241 2018-02-05 18 24

我有两个数据集需要连接,其中一个需要在R中修改

数据集如下所示:

    age_min    age_max    female   male   ID  value      date
      18         24         0       1     10   324    2018-02-05
      18         24         1       0     10   241    2018-02-05
      18         24         1       1     10   152    2018-02-05
      25         34         0       1     10   672    2018-02-05
      25         34         1       0     10   580    2018-02-05
      25         34         1       1     10   439    2018-02-05
      35         44         0       1     10   523    2018-02-05
      35         44         1       0     10   574    2018-02-05
      35         44         1       1     10   678    2018-02-05
      45         54         0       1     10   127    2018-02-05
      45         54         1       0     10   756    2018-02-05
      45         54         1       1     10   273    2018-02-05
      55         64         0       1     10   xxx    2018-02-05
      55         64         1       0     10   xxx    2018-02-05
      55         64         1       1     10   xxx    2018-02-05
      65+        NA         0       1     10   xxx    2018-02-05
      65+        NA         1       0     10   xxx    2018-02-05
      65+        NA         1       1     10   xxx    2018-02-05
      18         24         0       1     10   123    2018-02-06
      18         24         1       0     10   641    2018-02-06
      18         24         1       1     10   901    2018-02-06
      25         34         0       1     10   671    2018-02-06
      25         34         1       0     10   421    2018-02-06
      25         34         1       1     10   784    2018-02-06
      35         44         0       1     10   856    2018-02-06
      35         44         1       0     10   976    2018-02-06
      35         44         1       1     10  1243    2018-02-06
      45         54         0       1     10   745    2018-02-06
      45         54         1       0     10   929    2018-02-06
      45         54         1       1     10   781    2018-02-06
      55         64         0       1     10   xxx    2018-02-06
      55         64         1       0     10   xxx    2018-02-06
      55         64         1       1     10   xxx    2018-02-06
      65+        NA         0       1     10   xxx    2018-02-06
      65+        NA         1       0     10   xxx    2018-02-06
      65+        NA         1       1     10   xxx    2018-02-06
    age_min    age_max    female   male   ID  value      date
      18         24         0       1     10   324    2018-02-05
      18         24         1       0     10   241    2018-02-05
      18         24         1       1     10   152    2018-02-05
      25         34         0       1     10   672    2018-02-05
      25         34         1       0     10   580    2018-02-05
      25         34         1       1     10   439    2018-02-05
      35         44         0       1     10   523    2018-02-05
      35         44         1       0     10   574    2018-02-05
      35         44         1       1     10   678    2018-02-05
      45         54         0       1     10   127    2018-02-05
      45         54         1       0     10   756    2018-02-05
      45         54         1       1     10   273    2018-02-05
      55         64         0       1     10   xxx    2018-02-05
      55         64         1       0     10   xxx    2018-02-05
      55         64         1       1     10   xxx    2018-02-05
---------------------------------------------------------------------------
add   18         34         0       1     10   996    2018-02-05
      18         34         1       0     10   821    2018-02-05
      18         34         1       1     10   591    2018-02-05 
      18         44         0       1     10  1519    2018-02-05
      18         44         1       0     10  1395    2018-02-05
      18         44         1       1     10  1269    2018-02-05
      18         54         0       1     10  xxxx    2018-02-05
      18         54         1       0     10  xxxx    2018-02-05
      18         54         1       1     10  xxxx    2018-02-05
      18         65+        0       1     10  xxxx    2018-02-05
      18         65+        1       0     10  xxxx    2018-02-05
      18         65+        1       1     10  xxxx    2018-02-05
---------------------------------------------------------------------------
      18         24         0       1     10   123    2018-02-06
      18         24         1       0     10   641    2018-02-06
      18         24         1       1     10   901    2018-02-06
      25         34         0       1     10   671    2018-02-06
      25         34         1       0     10   421    2018-02-06
      25         34         1       1     10   784    2018-02-06
      35         44         0       1     10   856    2018-02-06
      35         44         1       0     10   976    2018-02-06
      35         44         1       1     10  1243    2018-02-06
      45         54         0       1     10   745    2018-02-06
      45         54         1       0     10   929    2018-02-06
      45         54         1       1     10   781    2018-02-06
      55         64         0       1     10   xxx    2018-02-06
      55         64         1       0     10   xxx    2018-02-06
      55         64         1       1     10   xxx    2018-02-06
---------------------------------------------------------------------------
add   18         34         0       1     10   794    2018-02-06
      18         34         1       0     10  1062    2018-02-06
      18         34         1       1     10  1685    2018-02-06
      18         44         0       1     10  1650    2018-02-06
      18         44         1       0     10  2038    2018-02-06
      18         44         1       1     10  2928    2018-02-06
      18         54         0       1     10  xxxx    2018-02-06
      18         54         1       0     10  xxxx    2018-02-06
      18         54         1       1     10  xxxx    2018-02-06
      18         65+        0       1     10  xxxx    2018-02-06
      18         65+        1       0     10  xxxx    2018-02-06
      18         65+        1       1     10  xxxx    2018-02-06
---------------------------------------------------------------------------
有许多不同的ID和日期,我想要得到的输出如下:

    age_min    age_max    female   male   ID  value      date
      18         24         0       1     10   324    2018-02-05
      18         24         1       0     10   241    2018-02-05
      18         24         1       1     10   152    2018-02-05
      25         34         0       1     10   672    2018-02-05
      25         34         1       0     10   580    2018-02-05
      25         34         1       1     10   439    2018-02-05
      35         44         0       1     10   523    2018-02-05
      35         44         1       0     10   574    2018-02-05
      35         44         1       1     10   678    2018-02-05
      45         54         0       1     10   127    2018-02-05
      45         54         1       0     10   756    2018-02-05
      45         54         1       1     10   273    2018-02-05
      55         64         0       1     10   xxx    2018-02-05
      55         64         1       0     10   xxx    2018-02-05
      55         64         1       1     10   xxx    2018-02-05
      65+        NA         0       1     10   xxx    2018-02-05
      65+        NA         1       0     10   xxx    2018-02-05
      65+        NA         1       1     10   xxx    2018-02-05
      18         24         0       1     10   123    2018-02-06
      18         24         1       0     10   641    2018-02-06
      18         24         1       1     10   901    2018-02-06
      25         34         0       1     10   671    2018-02-06
      25         34         1       0     10   421    2018-02-06
      25         34         1       1     10   784    2018-02-06
      35         44         0       1     10   856    2018-02-06
      35         44         1       0     10   976    2018-02-06
      35         44         1       1     10  1243    2018-02-06
      45         54         0       1     10   745    2018-02-06
      45         54         1       0     10   929    2018-02-06
      45         54         1       1     10   781    2018-02-06
      55         64         0       1     10   xxx    2018-02-06
      55         64         1       0     10   xxx    2018-02-06
      55         64         1       1     10   xxx    2018-02-06
      65+        NA         0       1     10   xxx    2018-02-06
      65+        NA         1       0     10   xxx    2018-02-06
      65+        NA         1       1     10   xxx    2018-02-06
    age_min    age_max    female   male   ID  value      date
      18         24         0       1     10   324    2018-02-05
      18         24         1       0     10   241    2018-02-05
      18         24         1       1     10   152    2018-02-05
      25         34         0       1     10   672    2018-02-05
      25         34         1       0     10   580    2018-02-05
      25         34         1       1     10   439    2018-02-05
      35         44         0       1     10   523    2018-02-05
      35         44         1       0     10   574    2018-02-05
      35         44         1       1     10   678    2018-02-05
      45         54         0       1     10   127    2018-02-05
      45         54         1       0     10   756    2018-02-05
      45         54         1       1     10   273    2018-02-05
      55         64         0       1     10   xxx    2018-02-05
      55         64         1       0     10   xxx    2018-02-05
      55         64         1       1     10   xxx    2018-02-05
---------------------------------------------------------------------------
add   18         34         0       1     10   996    2018-02-05
      18         34         1       0     10   821    2018-02-05
      18         34         1       1     10   591    2018-02-05 
      18         44         0       1     10  1519    2018-02-05
      18         44         1       0     10  1395    2018-02-05
      18         44         1       1     10  1269    2018-02-05
      18         54         0       1     10  xxxx    2018-02-05
      18         54         1       0     10  xxxx    2018-02-05
      18         54         1       1     10  xxxx    2018-02-05
      18         65+        0       1     10  xxxx    2018-02-05
      18         65+        1       0     10  xxxx    2018-02-05
      18         65+        1       1     10  xxxx    2018-02-05
---------------------------------------------------------------------------
      18         24         0       1     10   123    2018-02-06
      18         24         1       0     10   641    2018-02-06
      18         24         1       1     10   901    2018-02-06
      25         34         0       1     10   671    2018-02-06
      25         34         1       0     10   421    2018-02-06
      25         34         1       1     10   784    2018-02-06
      35         44         0       1     10   856    2018-02-06
      35         44         1       0     10   976    2018-02-06
      35         44         1       1     10  1243    2018-02-06
      45         54         0       1     10   745    2018-02-06
      45         54         1       0     10   929    2018-02-06
      45         54         1       1     10   781    2018-02-06
      55         64         0       1     10   xxx    2018-02-06
      55         64         1       0     10   xxx    2018-02-06
      55         64         1       1     10   xxx    2018-02-06
---------------------------------------------------------------------------
add   18         34         0       1     10   794    2018-02-06
      18         34         1       0     10  1062    2018-02-06
      18         34         1       1     10  1685    2018-02-06
      18         44         0       1     10  1650    2018-02-06
      18         44         1       0     10  2038    2018-02-06
      18         44         1       1     10  2928    2018-02-06
      18         54         0       1     10  xxxx    2018-02-06
      18         54         1       0     10  xxxx    2018-02-06
      18         54         1       1     10  xxxx    2018-02-06
      18         65+        0       1     10  xxxx    2018-02-06
      18         65+        1       0     10  xxxx    2018-02-06
      18         65+        1       1     10  xxxx    2018-02-06
---------------------------------------------------------------------------
此示例来自一个ID,存在其他ID

我想对第18-24行和第25-34行的值求和以创建新行18-34,对第18-24行、第25-34行、第35-44行的值求和以创建第18-44行,重复类似步骤以获得18-54、18-65+


我已经通过Jon Spring提供的代码实现了我想要的。问题是代码value=sum(value)将汇总所有年龄组的值。为了解决这个问题,我去掉了我不想求和的年龄组,并计算出18-34,18-44,18-54,18-65+的总值。非常感谢你的帮助,乔恩

聚合,然后将上面的行绑定到底部。下面是data.table中的一次尝试:

df_summary <- df %>%
  group_by(female, male, ID, date) %>%
  summarize(age_min = min(age_min),
            age_max = max(age_max),
            value   = sum(value))
df %>% 
  bind_rows(df_summary) %>%
  arrange(date)   # Edit to sort by date

我仍然不明白你想要实现什么:(我看不出第二个有什么变化frame@KenrySanchez-据我所知,第1行和第4行的值求和,然后是第2行和第5行,然后是第3行和第6行,其中
female/male/id/date
match.awwww我知道了。好的,让我试试看是否能给你一个解决方案。我想我以前在我的r工作室里做过这个。嗨,乔恩,我试过y我们的代码和它在某种程度上起作用。如果我有其他数据,我想知道如何按日期求和值?例如,一年的每日值?我不知道你的确切意思。要为一年中的每个
日期添加总和,你可以将
分组依据(女性、男性、ID、日期)%%>%
更改为
分组依据(女性,男性,身份证,日期=润滑油::地板(日期,“1年”)%%>%%
…嗨,Jon,我更新了我的问题,也许你能更好地理解我的问题。更新了新的输出,唯一的变化是按日期排列。似乎符合所需的输出。哇,太酷了,如果我有其他年龄段,如35-44、45-54、55-64,那么如何选择年龄段呢?我的意思是可能不使用min(age_min)和max(age_max)您好,最近的邮件,我尝试了您的代码,它每天为每个ID生成一个值。但是,如果我将age_min和age_max更改为特定的数字,如age_min=18,age_max=34。输出值不是真的,事实上age_min和age_max没有更改输出值。那么,如果我想手动选择年龄组,该怎么办?