如何在从美国人口普查HTML网站上删除数据时降低因子水平

时间:2013-03-27 21:47:03

标签: r scrape census

提前感谢您的帮助。在美国人口普查网站(下图)中,我正在寻找第4排第3列中的元素。

这是我写的代码:

complete_URL <- "http://quickfacts.census.gov/qfd/states/01/01011.html"
temp_TBL <- readHTMLTable(complete_URL, which=4)
business_number_vector <- temp_TBL[6,3]
print(business_number_vector)

我得到的是:

[1] 417
Levels: 417

我想要的是:

[1] 417

再次感谢你的帮助!

2 个答案:

答案 0 :(得分:1)

实际上是R-FAQ 7.10:

您应该可以使用R-help()系统查看常见问题解答。在我的机器上,它被设置为html:

http://127.0.0.1:23603/doc/manual/R-FAQ.html#How-do-I-convert-factors-to-numeric_003f
  

7.10如何将因子转换为数字?

     

当将数字数据读入R(通常,在读取文件时)时,可能会出现这些因素。如果f是这样的因子对象,则可以使用

     

as.numeric(as.character(f))的   得到数字。

是更有效但更难记住的      

as.numeric(水平(f))的[as.integer(F)]   在任何情况下,不要直接为当前任务调用as.numeric()或他们的喜欢(因为as.numeric()或unclass()给出内部代码)。

答案 1 :(得分:0)

Arun和Dason提供了这些答案:

Arun推荐:

complete_URL <- "http://quickfacts.census.gov/qfd/states/01/01011.html"
temp_TBL <- readHTMLTable(complete_URL, which=4)
business_number_vector <- as.numeric(as.character(temp_TBL[6,3]))
print(business_number_vector)

见第3行,其中as.numeric(as.character())帮助了很长时间!

Dason推荐:

complete_URL <- "http://quickfacts.census.gov/qfd/states/01/01011.html"
temp_TBL <- readHTMLTable(complete_URL, which=4)
business_number_vector <- temp_TBL[6,3]
business_number_vector <- as.numeric(levels(business_number_vector)[business_number_vector])
print(business_number_vector)

见第4行as.numeric(levels(business_number_vector)[business_number_vector])也帮助了大片时间!