【问题标题】:R- ploting data with a long tailR- 绘制长尾数据
【发布时间】:2018-07-06 13:07:45
【问题描述】:

我是 R 的初学者。我想做一个简单的绘图。我有一个从 twitter 数据集中提取的包含 2 列的数据集:“关注者”显示用户拥有的关注者数量,“计数”显示有多少用户拥有那么多关注者。我正在尝试绘制这个数据集。到目前为止我能想到的最好的绘图是:

p<-ggplot(df, aes(x=df$user_followersCount, y= df$x )) +
geom_area(alpha=0.6) +
scale_x_continuous(name="Followers", limits=c(0, 30000000)) +
scale_y_continuous(name="Count") +
scale_x_sqrt()

这给了我以下情节:

因为长尾巴,剧情不好。我希望以更大的比例显示前 1000 个关注者,并压缩尾部。但我不知道怎么做。请帮我。 或者您有什么建议可以更好地绘制这些数据?

【问题讨论】:

  • 是的,答案是绘制 log(data +1) 而不是绘制原始数据。
  • 请发布您的数据的代表性样本,最好是dput的输出
  • 另外,在ggplot 函数中使用dataframe$column 可能会导致错误;相反,它只需要裸列名称

标签: r plot ggplot2


【解决方案1】:
#Create some data
t <- append(rnorm(100000,0,1), rnorm(100,50,10))

#Plot with no log
hist(t)

   #Now lets try using log
   hist(log2(t+1))

这是数据可视化的常用技术。

【讨论】:

  • “这是对数据进行“规范化”的常用技术。” 请注意,这与数据规范化无关!这是数据对数转换的特例。
  • 日志的基础有些随意,我个人认为log10 更易于人类解释。
猜你喜欢
  • 2011-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-08
  • 2018-08-01
  • 2021-04-21
  • 2013-12-29
  • 1970-01-01
相关资源
最近更新 更多