如何在r中为2列数据创建直方图?

时间:2017-10-22 04:30:39

标签: r histogram

user_a - 3 user_b - 4 user_c - 1 user_d - 4 我想使用直方图显示r中每位作者的推文数量。原始文件有1048575个这样的行 我做了hist(df$twitter_count, nrow(df)),但我认为不正确

3 个答案:

答案 0 :(得分:2)

我似乎误解了这个问题。我想以下可能会 OP正在寻找什么。

df <- data.frame(user = letters, 
                 twitter_count = sample.int(200, 26))

ggplot(df, aes(user, twitter_count)) +
  geom_col()

enter image description here

假设您正在寻找多个直方图。

user替换为data.frame中的相应变量名称。

# Example data
df <- data.frame(user = iris$Species, 
                 twitter_count= round(iris[, 1]*10))

# Histograms using ggplot2 package
library(ggplot2)
ggplot(df, aes(x = twitter_count)) +
  geom_histogram() + facet_grid(.~user)

如果您的数据包含许多Twitter用户,最好使用其他方法查看Twitter计数的分布。

答案 1 :(得分:1)

如果data.frame的每一行代表一个用户 -

set.seed(1)
df <- data.frame(user = letters, twitter_count = rpois(26, lambda = 4) + 1)
hist(df$twitter_count)

https://developer.apple.com/documentation/uikit/uiviewcontroller#1652793

答案 2 :(得分:0)

既然你说过每个用户的分发,我认为这应该是一个条形印迹:

require(data.table)
dat <- fread("
  user_a - 3
  user_b - 4
  user_c - 1
  user_d - 4"
)

barplot( names.arg = dat$V1, as.numeric(dat$V3) )

barplot

或者如果您正在寻找直方图,那么:

hist(as.numeric(dat$V3), xlab = "", main="Histogram")

histogram