R 对数据帧进行聚合和求和
我想在一个数据帧上进行聚合,并按类别进行汇总。我有这个R 对数据帧进行聚合和求和,r,R,我想在一个数据帧上进行聚合,并按类别进行汇总。我有这个 my_basket = data.frame(ITEM_GROUP = c("Fruit","Fruit","Fruit","Fruit","Fruit","Vegetable","Vegetable","Vegetable","Vegetable","
my_basket = data.frame(ITEM_GROUP = c("Fruit","Fruit","Fruit","Fruit","Fruit","Vegetable","Vegetable","Vegetable","Vegetable","Dairy","Dairy","Dairy","Dairy","Dairy"),
ITEM_NAME = c("Apple","Banana","Orange","Mango","Papaya","Carrot","Potato","Brinjal","Raddish","Milk","Curd","Cheese","Milk","Paneer"),
Price = c(100,80,80,90,65,70,60,70,25,60,40,35,50,120),
Tax = c(2,4,5,6,2,3,5,1,3,4,5,6,4,3))
aggregate(x = my_basket[3,], by = list(my_basket[1,]), FUN = sum)
但是告诉我这件事给了我一个错误
aggregate.data.frame(x=my_basket[3,],by=list)中出错(my_basket[1,:
参数必须具有相同的长度
调用:->->aggregate->aggregate.data.frame
停止执行
我应该如何按索引引用列
我是R新手,我想我不太明白如何按列引用数据帧。我看到的所有示例都使用名称。我不能很好地缩小搜索范围,因此这个问题。使用
[1,]
可以将行而不是列子集。使用[,1]
可以选择第一列作为向量。使用[1]
选择第一列作为data.frame
aggregate(x = my_basket[3], by = my_basket[1], FUN = sum)
# ITEM_GROUP Price
#1 Dairy 305
#2 Fruit 415
#3 Vegetable 225
使用
[1,]
可以对行而不是列进行子集设置。使用[,1]
可以选择第一列作为向量。使用[1]
可以选择第一列作为data.frame
aggregate(x = my_basket[3], by = my_basket[1], FUN = sum)
# ITEM_GROUP Price
#1 Dairy 305
#2 Fruit 415
#3 Vegetable 225
我们也可以在聚合中使用公式法
aggregate(Price ~ ITEM_GROUP, my_basket, FUN = sum)
我们也可以在聚合中使用公式法
aggregate(Price ~ ITEM_GROUP, my_basket, FUN = sum)
你想要:aggregate(x=my\u basket[3],by=my\u basket[1],FUN=sum)
?我知道这很简单(但我已经尝试了很多次了,以至于我的头脑都被震晕了)。谢谢。请创建一个答案,我会接受。你想要:aggregate(x=my\u basket[3],by=my\u basket[1],FUN=sum)
?我知道这很简单(但我已经尝试了很多次了,我的想法都被吹走了)。谢谢。请创建一个答案,我会接受的。