1

我正在尝试按日期获取活动计数的简单条形字符;但是,当我将数据导入 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
4

3 回答 3

3

我怀疑你需要类似的东西

 ua[,"Date"] <- as.Date(ua[,"Date"])

将从读取文件中获得的日期的文本表示形式转换为实际的日期类型。

于 2012-09-21T17:52:17.047 回答
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() 调用中使用“权重”参数。还要确保您的日期变量是正确的日期(不是字符串),即

str(df$date)

除此以外

    qplot(x=factor(date),data=df,geom="bar")

应该也可以。

于 2012-09-21T16:58:24.667 回答
0

看起来我的数据提取存在一些编码问题。我使用谷歌细化来清理导入,然后 ua <- read.csv("~/Desktop/R Working/report_users_activities_byrole.csv")它工作了

于 2012-09-21T17:59:24.287 回答