绘制使用readHTMLTable读取的数据

时间:2013-06-03 02:05:03

标签: r

我想从网页上阅读下表,然后创建一个条形图。

  

语言............工作

     

PHP .................... 12,664

     

Java ................... 12,558

     

目标C ......... 8,925

     

SQL .................... 5,165

     

Android(Java).... 4,981

     

Ruby ................... 3,859

     

JavaScript ........... 3,742

     

C#....................... 3,549

     

C ++ ..................... 1,908

     

ActionScript ......... 1,821

     

Python ................. 1,649

     

C .......................... 1,087

     

ASP.NET ............... 818

我的问题:

1.我的酒吧弄乱的问题,每个酒吧确实对应正确的语言 以下是我的代码:

library(XML)
tables2 <-(readHTMLTable("http://www.sitepoint.com/best-programming-language-of-2013/",which=1))
barplot(as.numeric(tables2$Job),names.arg=tables2$Language)
  1. 由于我是R的初学者,我想知道readHTMLTable以什么格式保存数据?它是矩阵,数据框架还是其他格式?

1 个答案:

答案 0 :(得分:1)

这里的主要问题是Jobs被视为factor。由于该字段中的逗号,您无法进行直接数字转换。您可以通过str()找出您的对象在R中的“格式”。这里str(tables2)给出了:

'data.frame':   13 obs. of  2 variables:
 $ Language: Factor w/ 13 levels "ActionScript",..: 10 7 9 13 2 12 8 5 6 1 ...
 $ Jobs    : Factor w/ 13 levels "1,087","1,649",..: 6 5 12 11 10 9 8 7 4 3 ...

因此,您可以看到Jobs是一个因素,而tables2data.frame。要将其转换为数字,您需要删除逗号。您可以使用gsub()

执行此操作
tables2$Jobs <- as.numeric(gsub(",","",tables2$Jobs))

str(tables2)给出:

'data.frame':   13 obs. of  2 variables:
 $ Language: Factor w/ 13 levels "ActionScript",..: 10 7 9 13 2 12 8 5 6 1 ...
 $ Jobs    : num  12664 12558 8925 5165 4981 ...

当你做你的情节时,一切都应该很好:

barplot(tables2$Jobs,names.arg=tables2$Language)

enter image description here