我正在尝试按日期获取活动计数的简单条形码;但是,当我将数据导入R时,它会跳过某些记录或者没有正确转换日期格式。
这是我正在使用的脚本:
ua <- read.table('report_users_activities_byrole 2.txt',sep='|',header=T)
qplot(date,
data=ua,
geom="bar",
weight=count,
ylab="User Count",
fill=factor(un_region)) +
opts(axis.text.x =theme_text(angle=45, size=5))
我的日期
head(ua)
date role name un_region un_subregion us_state count
1 2012-06-21 ENTREPRENEUR Australia Oceania Australia and New Zealand 2
2 2012-06-21 ENTREPRENEUR Belgium Europe Western Europe 1
3 2012-06-21 ENTREPRENEUR Bosnia and Herzegovina Europe Southern Europe 1
答案 0 :(得分:3)
我怀疑你需要像
这样的东西 ua[,"Date"] <- as.Date(ua[,"Date"])
将阅读文件的日期的文本表示形式转换为实际的日期类型。
答案 1 :(得分:1)
不确定您的代码有什么问题,但这样的事情应该有用(这是http://had.co.nz/ggplot2/scale_date.html示例的一个版本)
df = data.frame(date=sample(seq(Sys.Date(), len=100, by="1 day"),size=100,replace=TRUE))
qplot(x=date,data=df,geom="bar")
df
是一个data.frame,其中某些日期比其他日期更频繁出现(即sample()函数)。不确定为什么要在qplot()调用中使用“weight”参数。还要确保您的日期变量是正确的日期(不是字符串),即执行
str(df$date)
否则
qplot(x=factor(date),data=df,geom="bar")
应该也可以。
答案 2 :(得分:0)
看起来我的数据提取有一些编码问题。我使用Google精简来清理导入然后
ua <- read.csv("~/Desktop/R Working/report_users_activities_byrole.csv")
并且有效