Here is the gist of my problem. I inner joined two dataframes, called it MergedData. I wanted to group the data by customer and sales. This gives me what I want:
data2 <- aggregate(MergedData$Purchase~ MergedData$User_ID+
MergedData$Product_Category,data = MergedData, FUN = sum)
MergedData$User_ID MergedData$Product_Category MergedData$Purchase
1 1000002 1 3267
2 1000003 1 768
3 1000005 1 4063
Now I want to sort it by MergedData$Purchase. So, I try this -
data2 <- data2[order(data2$`MergedData$User_ID`,
-data2$`MergedData$Purchase`)]
It returns me the following error:
Error in
[.data.frame
(data2, order(data2$MergedData$User_ID
, -data2$MergedData$Purchase
)) : undefined columns selected
If I put a comma after -data2$
MergedData$Purchase, it returns me another error:
Error in order(data2$
MergedData$User_ID
, -data2$MergedData$Purchase
, : argument is missing, with no default
Can someone please help me troubleshoot this problem.
The problem is that you only used one index to data2
, so the result of order
is being treated as column names. Write it with a comma after order(...)
, and the order will be on the rows for all columns:
data2 <- data2[order(data2$`MergedData$User_ID`,
-data2$`MergedData$Purchase`), ]