dplyr和POSIXlt数据的问题 [英] Problems with dplyr and POSIXlt data
问题描述
df< -read.csv(007.csv,header = T,
/ pre>
df $ transaction_date< -strptime(df $ transaction_date,%d。%m。%Y)
df $ install_date< -strptime(df $ install_date,%d 。%m。%Y)
df $ days< - as.numeric(difftime(df $ transaction_date,df $ install_date,units =days))
数据框架是关于一个在线游戏中的交易。它包含值(其付款),transaction_date,intall_date和ID。我添加了新的列,安装后显示。我试图用dlyr汇总数据
df2< -df%>%
group_by(days)%>%
总结(sum = sum(value))
我有一个错误:
错误:列'transaction_date 不支持的类型:POSIXlt,POSIXt
我如何修复?
UPD。我将Date列的类更改为Character。解决了问题。但是我可以使用dlyr withouts在我的数据集中更改类吗?
解决方案您可以使用
as.POSIXct
如意见中的建议,但如果小时,分钟和秒不重要,那么您应该使用as.Date
df< - read.csv(007.csv,header = T,sep =;)
df2< - df%>%
mutate(
transaction_date = as.Date(transaction_date,%d。%m。%Y)
,install_date = as.Date install_date%d。%m。%Y)
)%>%
group_by(days = transaction_date - install_date)%>%
总汇(sum = sum )
I have a problem. I downloaded data and tranformed dates into POSIXlt format
df<-read.csv("007.csv", header=T, sep=";") df$transaction_date<-strptime(df$transaction_date, "%d.%m.%Y") df$install_date<-strptime(df$install_date, "%d.%m.%Y") df$days<- as.numeric(difftime(df$transaction_date,df$install_date, units = "days"))
Data frame is about transaction in one online game. It contains value (its payment), transaction_date, intall_date and ID. I added new column, which showndays after installation. I tried to summarise data using dlyr
df2<-df %>% group_by(days) %>% summarise(sum=sum(value))
And I've got an error: Error: column 'transaction_date' has unsupported type : POSIXlt, POSIXt
How can i Fix it?
UPD. I changed classes of Date columns into Character. It solved problem. But can i use dlyr withouts changing classes in my dataset?
解决方案You could use
as.POSIXct
as recommended in the comments but if the hours, minutes, and seconds don't matter then you should just useas.Date
df <- read.csv("007.csv", header=T, sep=";") df2 <- df %>% mutate( transaction_date = as.Date(transaction_date, "%d.%m.%Y") ,install_date = as.Date(install_date, "%d.%m.%Y") ) %>% group_by(days = transaction_date - install_date) %>% summarise(sum=sum(value))
这篇关于dplyr和POSIXlt数据的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!