R 如果某些列变量出现在具有相同键值的重复行中,如何添加这些列变量的值

R 如果某些列变量出现在具有相同键值的重复行中,如何添加这些列变量的值,r,R,我正在通过视频点播上的电影观看窗口阅读每周客户购买的csv文件。该文件由给定电影的几个列组成,包括标题、价格、周数和该周发生的购买数量。有时,一部特定的电影可能会在给定的一周内有多行购买(同一周) 我试图处理数据,这样,如果给定电影的同一周有多个OLE行,我想用一周的一行替换它,并将购买量相加 我最近几周才开始研究R,但这次尝试失败了。请帮忙 我想我遵循了你的要求。让我知道这是否是你的想法 首先,整理一些数据: movies <- data.frame(mov = c("Foo", rep

我正在通过视频点播上的电影观看窗口阅读每周客户购买的csv文件。该文件由给定电影的几个列组成,包括标题、价格、周数和该周发生的购买数量。有时,一部特定的电影可能会在给定的一周内有多行购买(同一周)

我试图处理数据,这样,如果给定电影的同一周有多个OLE行,我想用一周的一行替换它,并将购买量相加


我最近几周才开始研究R,但这次尝试失败了。请帮忙

我想我遵循了你的要求。让我知道这是否是你的想法

首先,整理一些数据:

movies <- data.frame(mov = c("Foo", rep(c("Foo", "Bar", "Baz"),3))
    , price = c(7, rep(c(7, 5, 2),3))
    , wknumb = c(1, rep(1:3, each = 3))
    , buys = sample(10:20, 10, TRUE))

   mov price wknumb buys
1  Foo     7      1   12
2  Foo     7      1   11
3  Bar     5      1   10
4  Baz     2      1   19
5  Foo     7      2   10
6  Bar     5      2   15
7  Baz     2      2   15
8  Foo     7      3   14
9  Bar     5      3   15
10 Baz     2      3   20
返回包含9行的data.frame,每部电影和每周一行:

  mov wknumb totbuys
1 Bar      1      10
2 Bar      2      15
3 Bar      3      15
4 Baz      1      19
5 Baz      2      15
6 Baz      3      20
7 Foo      1      23
8 Foo      2      10
9 Foo      3      14

我想我是按照你的要求做的。让我知道这是否是你的想法

首先,整理一些数据:

movies <- data.frame(mov = c("Foo", rep(c("Foo", "Bar", "Baz"),3))
    , price = c(7, rep(c(7, 5, 2),3))
    , wknumb = c(1, rep(1:3, each = 3))
    , buys = sample(10:20, 10, TRUE))

   mov price wknumb buys
1  Foo     7      1   12
2  Foo     7      1   11
3  Bar     5      1   10
4  Baz     2      1   19
5  Foo     7      2   10
6  Bar     5      2   15
7  Baz     2      2   15
8  Foo     7      3   14
9  Bar     5      3   15
10 Baz     2      3   20
返回包含9行的data.frame,每部电影和每周一行:

  mov wknumb totbuys
1 Bar      1      10
2 Bar      2      15
3 Bar      3      15
4 Baz      1      19
5 Baz      2      15
6 Baz      3      20
7 Foo      1      23
8 Foo      2      10
9 Foo      3      14

使用基本R(和Chase的数据集)中的
聚合


使用基本R(和Chase的数据集)中的
聚合


如果您熟悉sql,其中许多都可以由sqldf处理

library(sqldf)
sqldf("select mov, wknumb, sum(buys) as sumBuys from movies group  by wknumb, mov")

如果您熟悉sql,其中许多都可以由sqldf处理

library(sqldf)
sqldf("select mov, wknumb, sum(buys) as sumBuys from movies group  by wknumb, mov")

请添加一些示例数据和更清晰的问题描述。有关提示,请参阅:请添加一些示例数据和更清晰的问题描述。有关提示,请参阅:谢谢各位,给出了各种各样的答案。我整天与aggregate&tapply斗争,但没有成功。但你们让它看起来很简单。非常感谢。谢谢各位,给了我各种各样的答案。我整天与aggregate&tapply斗争,但没有成功。但你们让它看起来很简单。非常感谢。嗨,蔡斯,谢谢你的帮助。我试过了,但收到了一条我不明白的错误信息。下面的代码使用我的文件列名:df1=read.csv(myFile,header=TRUE)>#df2-df2>library(plyr)>ddply(df2,c(“title”,“WkNum”),Summary,totbewys=sum(Buys))总结中的错误。factor(c(571L,773L),na.rm=FALSE):sum也不意味着这个错误对我来说没有多大意义。它可能是指“购买”是一个因素,而不是数字。您可以使用
str(df2)
检查数据结构,以查看每列的模式。否则,请使用
dput(df2)
或其子集的输出更新您的问题,我再看一看。嗨,Chase,谢谢您的帮助。我试过了,但收到了一条我不明白的错误信息。下面的代码使用我的文件列名:df1=read.csv(myFile,header=TRUE)>#df2-df2>library(plyr)>ddply(df2,c(“title”,“WkNum”),Summary,totbewys=sum(Buys))总结中的错误。factor(c(571L,773L),na.rm=FALSE):sum也不意味着这个错误对我来说没有多大意义。它可能是指“购买”是一个因素,而不是数字。您可以使用
str(df2)
检查数据结构,以查看每列的模式。否则,用
dput(df2)
的输出或其子集更新您的问题,我再看一看。