我有这样的数据:
emailaddress customer_acquisation_date customer_order_date payment_amount
xy@gmail.com 01/05/2013 6:24 AM 01/05/2013 5:10 AM $ 20.67
xy@gmail.com 01/05/2013 6:24 AM 02/07/2013 7:21 PM $ 25.56
xy@gmail.com 01/05/2013 6:24 AM 07/10/2013 8:00 AM $100.00
xy@gmail.com 01/05/2013 6:24 AM 08/12/2013 9:35 AM $30.00
Run Code Online (Sandbox Code Playgroud)
我想通过emailaddress总结(支付金额),我希望最终输出为:
emailaddress customer_acquisation_date customer_order_date payment_amount
xy@gmail.com 01/05/2013 6:24 AM 01/05/2013 $ 177
02/07/2013
07/10/2013
08/12/2013
Run Code Online (Sandbox Code Playgroud)
代码我在写
z <- aggregate(x$emailaddress~x$paymentamount,data=x,FUN=sum)
Run Code Online (Sandbox Code Playgroud)
我得到的错误
Error in Summary.factor(c(211594L, 291939L, 79240L, 208971L, 369325L, :
‘sum’ not meaningful for factors
Run Code Online (Sandbox Code Playgroud)
这样做的正确方法是什么.任何帮助表示赞赏
我有包含电子邮件地址和美国各州的数据,我想创建一个列来标记每个州所在的美国人口普查区域。在 SQL 中,我通过 case 语句完成了此操作,但在 R 中最好的方法是什么?
样本数据:
df <- data.frame(emails=c("xyz@gmail.com","abc@hotmail.com","bba@gmai.com","so121@gamil.com","ad@yahoo.com"), states=c("NV","CA","UT","AZ","IA"))
Run Code Online (Sandbox Code Playgroud)
示例数据如下所示:
emails states
xyz@gmail.com NV
abc@hotmail.com CA
bba@gmai.com UT
so121@gamil.com AZ
ad@yahoo.com IA
Run Code Online (Sandbox Code Playgroud)
我希望结果是:
emails states regions
xyz@gmail.com NV West
abc@hotmail.com CA West
bba@gmai.com UT West
so121@gamil.com AZ West
ad@yahoo.com IA Midwest
Run Code Online (Sandbox Code Playgroud) 我已经将多个 csv 文件读入 R。现在我想将所有这些文件附加到一个文件中。我尝试了一些事情但得到了不同的错误。谁能帮我解决这个问题吗?
尝试1:
mydata <- rbind(x1,x2,x3,x4,x5,x6,x7,x8)
Run Code Online (Sandbox Code Playgroud)
WHERE XI,X2...X8 是我读入 R 的 CSV 文件,我收到的错误是
错误 1 :In [<-.factor( *tmp*, ri, value = c(NA, NA, NA, NA, NA, NA, NA, : 无效因子水平,生成 NA
尝试2:然后我用另一种方式尝试:
mydata1<- c(x1,x2,x3,x4,x5,x6,x7,x8)
> mydata2 <- do.call('rbind',lapply(mydata1,read.table,header=T))
Run Code Online (Sandbox Code Playgroud)
错误2:在FUN(X[[i]], ...)中:'file'必须是字符串或连接
谁能帮我知道什么是正确的方法吗?
r ×3