R 将行合并到组中

R 将行合并到组中,r,dataframe,R,Dataframe,我有一个这样构造的数据帧 age share ... 19 0.02 20 0.01 21 0.03 22 0.04 ... 我想将每个年龄组合并成更大的群组,如=35(并求和份额) 当然,这可以很容易地手工完成,但我很难相信没有专门的功能。但是,我找不到这个函数。你能帮我吗?你想用的是。例如: > myData <- read.table(text="age share + 19 0.02 + 20 0.01 + 21 0.03 +

我有一个这样构造的数据帧

age  share
...
 19   0.02
 20   0.01
 21   0.03
 22   0.04
...
我想将每个年龄组合并成更大的群组,如
=35
(并求和份额)

当然,这可以很容易地手工完成,但我很难相信没有专门的功能。但是,我找不到这个函数。你能帮我吗?

你想用的是。例如:

> myData <- read.table(text="age  share
+  19   0.02
+  20   0.01
+  21   0.03
+  22   0.04", header=TRUE)
> 
> myData$ageRange <- cut(myData$age, breaks=c(0, 20, 24, 29, 34, 35, 100))
> myData
  age share ageRange
1  19  0.02   (0,20]
2  20  0.01   (0,20]
3  21  0.03  (20,24]
4  22  0.04  (20,24]
你想用的是。例如:

> myData <- read.table(text="age  share
+  19   0.02
+  20   0.01
+  21   0.03
+  22   0.04", header=TRUE)
> 
> myData$ageRange <- cut(myData$age, breaks=c(0, 20, 24, 29, 34, 35, 100))
> myData
  age share ageRange
1  19  0.02   (0,20]
2  20  0.01   (0,20]
3  21  0.03  (20,24]
4  22  0.04  (20,24]

看一看
?cut
功能,它可以实现您所需的功能;)@Jilber谢谢-我尝试过剪切,但我不知道如何处理共享列…在这种情况下,你应该使用cut2,我相信它在hmisc包中--检查此项查看
?剪切功能,它完成了你想要的功能;)@Jilber谢谢-我试过cut,但我不知道如何处理共享列…在这种情况下,你应该使用cut2,我相信它在hmisc软件包中-检查这个OK,这很有效。然而,实际的合并是如何进行的?那么第1行和第2行以及第3行和第4行合并为一行?希望这不是一个愚蠢的问题……我相信这不是一个愚蠢的问题;不幸的是,我不明白你的意思。你能更新你的问题以显示你想要的输出是什么样子吗?我想我知道了:
aggregate(share~ageRange,myData,sum)
-你能把这个添加到你的答案中吗?好的,这很有效。然而,实际的合并是如何进行的?那么第1行和第2行以及第3行和第4行合并为一行?希望这不是一个愚蠢的问题……我相信这不是一个愚蠢的问题;不幸的是,我不明白你的意思。你能更新你的问题以显示你想要的输出是什么样子吗?我想我知道了:
aggregate(share~ageRange,myData,sum)
-你能把这个添加到你的答案中吗?