0

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

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

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

爪哇...... 12,558

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

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

安卓 (Java).... 4,981

红宝石..................... 3,859

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

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

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

动作脚本............ 1,821

蟒蛇........ 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. 由于我是 RI 的初学者,我想知道以什么格式readHTMLTable保存数据?它是矩阵、数据框还是其他格式?
4

1 回答 1

1

这里的主要问题Jobs是被读取为factor. 由于该字段中的逗号,您无法进行直接数字转换。您可以通过执行 找出您的对象在 R 中的“格式” str()。这里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是一个因素,那tables2就是一个data.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)

在此处输入图像描述

于 2013-06-03T02:21:49.750 回答