我已将excel电子表格导入R studio,我需要为数据编写R命令。我需要一个命令来显示商品的销售次数。数据看起来像这样
PRODUCT ------------------- UNITS
eye liner ----------------------- 10
lip gloss ----------------------- 5
eye liner ----------------------- 10
lip gloss ----------------------- 5
我不知道如何计算出售了多少单位的唇彩。我能做的最好的事情就是用以下命令显示唇彩在数据中显示的次数:
nrow(mySales[mySales$Product=="lip gloss",])
此命令不计算出售的唇彩单位数为10,它只计算唇彩在数据中出现的次数(2)。这是一个初学者课程,这是第一个练习,我认为这是一个简单的问题,但我完全迷失了。
答案 0 :(得分:1)
你快到了。如果你看一下你的代码:
nrow(mySales[mySales$Product=="lip gloss",])
这一行:
mySales[mySales$Product=="lip gloss",]
将对具有名为唇彩的产品
的数据进行子集化添加nrow
时,您正在计算新子集数据中的行数
因此,您可以使用函数行获取总计数
因此,如果您对新数据框的单位列进行了子集,则接下来需要执行的操作可以将nrow替换为rowSum
或sum
sum(mySales[mySales$Product=="lip gloss",]$UNITS)
继承了一步一步的版本
lipGlossSales<- mySales[mySales$Product=="lip gloss",]
lipGlossUnits <-lipGlossSales$UNITS
totallipGloss <- sum(lipGlossUnits)
快乐的R-ing
欢呼声,
答案 1 :(得分:0)
这称为拆分 - 应用 - 合并方法,并且在文档中有详细记录,在数据分析中非常常见。在这种情况下,我会尝试plyr库,它允许对数据做一个很好的总结:
fakedata <- data.frame(Product=c('eye liner', 'lip gloss', 'eye liner', 'lip gloss'),
count=c(10,5,10,5))
library(plyr)
product.counts <- ddply(fakedata, "Product", function(x) data.frame(Productcount = sum(x$count)))
R> product.counts
Product Productcount
1 eye liner 20
2 lip gloss 10