R 如何使用以计数数据作为输入的hist()函数

R 如何使用以计数数据作为输入的hist()函数,r,R,在R中使用hist()函数的标准是什么 我有两列数据,看起来像这样: 18764 2604 3150 450 5.21 6.7 7.2 8.5 103 11.2 12.1 14.1 16.1 17.2 18.3 21 23.1 24.1 25.1 281 29 1 当我把它放到R中的一个数据帧中,并尝试使用hist()函数来绘制它时,它给了我一个错误“x:必须是数值的”。我该如何着手解决这个问题 我试图得到x轴上的第一列和y轴上的第二列 请原谅,如果这个问题听起来很愚蠢,这是我第一次使用R。如果

在R中使用hist()函数的标准是什么

我有两列数据,看起来像这样:

18764
2604
3150
450
5.21
6.7
7.2
8.5
103
11.2
12.1
14.1
16.1
17.2
18.3
21
23.1
24.1
25.1
281
29 1

当我把它放到R中的一个数据帧中,并尝试使用hist()函数来绘制它时,它给了我一个错误“x:必须是数值的”。我该如何着手解决这个问题


我试图得到x轴上的第一列和y轴上的第二列


请原谅,如果这个问题听起来很愚蠢,这是我第一次使用R。

如果您的数据是
data.frame
调用
df
,那么只需执行
hist(df)
。默认情况下,它会打印,当然,您可以使用
plot(hist(df))

进行打印。如果您确实想使用
hist
功能,可以这样做:

hist(rep(df[[1]], df[[2]]))
df是您的data.frame(如果我理解罗兰在评论中所说的第一列可能是您的值,第二列可能是您的频率计数)

编辑您的data.frame似乎只有一列。在这种情况下,这将起作用:

hist(rep(seq_along(df[[1]]), df[[1]]))
如果出现
NA
的情况,请先执行以下操作:

df <- na.omit(df)

df您似乎犯了一个常见的错误,将直方图与条形图混淆。我需要使用直方图来显示图形,而不是条形图。“我正在尝试获取x轴上的第一列和y轴上的第二列。”这不是直方图。第二列可能是计数和第一列间隔中点,如果将其绘制为条形图,则确实会得到直方图。但是,这不涉及
hist
function.la歉。如果我只是想得到直方图中的数据,我该怎么做呢?或者,如果我只是想把第二列放在柱状图中?我试过这样做,它仍然会给我相同的错误,即“'x'必须是数字”str(df)
?'data.frame的输出是什么?:21 obs。共1个变量:$V1:Factor w/21级别“1 8764”,“10 3”,“1:9 16 17 18 19 20 21 2 3…他们需要首先修复数据导入…@JanSila-hmm,决不会像你建议的那样进行这种转换。试着这样做:当.numeric(factor(c(3,5,1,2,3,4),levels=c(3,5,1,2,4)))试着这样做时,给我这个错误:subset2(x,i,exact=exact)中的错误:下标越界我以前从未使用过R,所以我不知道我在寻找什么。我修改了我的数据输入,现在看起来像这样:“data.frame”:21 obs。共2个变量:$V1:int 1 2 3 4 5 6 7 8 10 11…$V2:int 8764 604 150 50 21 7 2 5 3 2…我尝试了多种选择,但似乎没有任何效果。非常感谢!成功了!