R中列表中项目的频率

Sim*_*asy 2 r histogram

我有一个非常大的csv文件.我想计算第二列中项目的频率,以便绘制直方图.我的数据的一个例子:

0010,10.1.1.16
0011,10.2.2.10
0012,192.168.2.61
0013,192.168.173.19
0014,10.2.2.10
0015,10.2.2.10
0016,192.168.2.61
Run Code Online (Sandbox Code Playgroud)

我用过以下内容:

  inFile <- read.csv("file.csv")
  summary(inFile)
  hist(inFile$secondCol)
Run Code Online (Sandbox Code Playgroud)

摘要输出:

  X0010                X10.1.1.16
  Min.   :11.00   10.2.2.10     :3   
  1st Qu.:12.25   192.168.173.19:1   
  Median :13.50   192.168.2.61  :2   
  Mean   :13.50                      
  3rd Qu.:14.75                      
  Max.   :16.00
Run Code Online (Sandbox Code Playgroud)

因为文件非常大,我没有得到正确的直方图.有什么建议?

Aru*_*run 5

只是用table.

DF <- structure(list(V1 = 10:16, V2 = structure(c(1L, 2L, 4L, 3L, 2L, 
             2L, 4L), .Label = c("10.1.1.16", "10.2.2.10", 
             "192.168.173.19", "192.168.2.61"), class = "factor")), 
             .Names = c("V1", "V2"), class = "data.frame", 
             row.names = c(NA, -7L))

table(DF$V2)
#     10.1.1.16      10.2.2.10 192.168.173.19   192.168.2.61 
#         1              3              1              2 
Run Code Online (Sandbox Code Playgroud)

如果你想要一个data.frame,你可以使用as.data.frame:

as.data.frame(table(DF$V2))
#             Var1 Freq
# 1      10.1.1.16    1
# 2      10.2.2.10    3
# 3 192.168.173.19    1
# 4   192.168.2.61    2
Run Code Online (Sandbox Code Playgroud)

既然你说你想要一个histogram,这可以直接使用,ggplot2 而不必先得到计数如下:

require(ggplot2)
ggplot(data = DF, aes(x = V2)) + geom_histogram(aes(y = ..count..))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

  • 好吧,我会尝试调试你的代码.但同时,你有没有检查过包[**bigdata**](http://cran.r-project.org/web/packages/bigdata/index.html)?? (3认同)