Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
r-hist.default和#x27;x';必须是数字_R_Histogram - Fatal编程技术网

r-hist.default和#x27;x';必须是数字

r-hist.default和#x27;x';必须是数字,r,histogram,R,Histogram,刚刚拿起R,我有以下问题: 假设我有以下data.frame: v1 v2 v3 3 16 a 44 457 d 5 23 d 34 122 c 12 222 a ……等等 我想在R中创建一个柱状图或条形图,但是我不想让x轴成为其中一个数值,而是希望通过v3进行计数。(2 a、1 c、2 d…等) 如果我做了hist(dataFrame$v3),我得到的错误是'x'必须是数字 为什

刚刚拿起R,我有以下问题:

假设我有以下data.frame:

v1     v2     v3  
3      16     a  
44     457    d  
5      23     d  
34     122    c  
12     222    a
……等等

我想在R中创建一个柱状图或条形图,但是我不想让x轴成为其中一个数值,而是希望通过v3进行计数。(2 a、1 c、2 d…等)

如果我做了
hist(dataFrame$v3)
,我得到的错误是
'x'必须是数字

  • 为什么它不能像计算其他列一样计算每个不同字符串的实例
  • 最简单的代码是什么
    嗯。首先,你应该确切地知道a是什么。这不是一个计数图。它是一种用于估计潜在概率密度函数的连续变量的可视化。因此,不要试图对分类数据使用
    hist
    。(这就是为什么
    hist
    告诉您传递的值必须是数字。)

    如果你只需要离散值的计数,那只是一个基本的条形图。您可以使用
    table
    计算离散数据的R值计数,然后使用basic
    barplot()
    命令进行绘图

    barplot(table(dataFrame$v3))
    
    如果您想要求最少的观察次数,请尝试

    tbl<-table(dataFrame$v3)
    atleast <- function(i) {function(x) x>=i}
    barplot(Filter(atleast(10), tbl))
    

    t谢谢你。我对r完全是个新手。现在,我创建了这个条形图,我看到我有很多成百上千的结果,还有一些结果只有1或2。如果数据不满足最小实例数,有没有办法排除这些数据?@user3594525我在回答中添加了一个可能的解决方案。