0

我在文件中有一个数据集,如下所示:

0.0707526823
0.4859753978
0.0084166789
0.0694709558
0.0156410467
0.3783259831
0.8977261856
0.7981824881
0.2079852045
0.9498437264
0.9264972044
0.1878358734
0.0020816686
0.0024611297
0.4250464895
0.0725748666
0.0407962054
0.8282363221
0.8408343333
0.7129760016
0.2772250135
0.3677588953
0.4723908637
0.9452814318

我想以 0.1 的间隔对这些数据进行分类并绘制直方图。

我确实尝试过使用R,

在这里我在做什么

x<-read.table("filex", header=T)
breaks=seq (min, max, step)
hist (x$col1, breaks)

但这个命令在我的情况下不起作用:(

欢迎使用 awk 或 R 中的任何一个班轮

谢谢

4

1 回答 1

3

看起来您需要更好地指定breaks类似min(x)and的内容max(x)

x <- read.table(textConnection("
    0.0707526823
    0.4859753978
    0.0084166789
    0.0694709558
    0.0156410467
    0.3783259831
    0.8977261856
    0.7981824881
    0.2079852045
    0.9498437264
    0.9264972044
    0.1878358734
    0.0020816686
    0.0024611297
    0.4250464895
    0.0725748666
    0.0407962054
    0.8282363221
    0.8408343333
    0.7129760016
    0.2772250135
    0.3677588953
    0.4723908637
    0.9452814318
"))

# extract vector of numeric from current data frame
x <- x$V1

# create breaks for frequency
# need to add a padding factor to make things equally spaced
step <- .1
pad <- step - ((max(x) - min(x)) %% step)/2
breaks <- seq(min(x) - pad, max(x) + pad,by=.1)

# alternative (only good for exact decimal increments):
# use floor and ceiling
breaks <- floor(min(x)*10):ceiling(max(x)*10)/10

# create histogram
# equally spaced breaks create frequency chart automatically
hist(x,breaks)
于 2012-11-01T13:49:26.253 回答