2013-03-27 14 views
0

非常感謝您的幫助。在美國人口普查網站(如下)中,我正在尋找第四行第六行第三列的元素。如何在刮掉數據時放棄因子水平美國人口普查HTML網站

這裏是我寫的代碼:

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 

再次感謝你這麼多你的幫助!

+3

do:'as.numeric(as.character(temp_TBL [6,3]))'。這似乎是一個「因素」變量。 – Arun 2013-03-27 22:38:45

+0

阿倫,你真棒。非常感謝。我無法告訴你我多麼感激。我現在一直在爲此撓頭。 – 2013-03-27 22:40:37

+0

沒問題。 「因素」在一開始就給每個人都帶來了這種感覺。請記住,'as.character'在'as.numeric'之前很重要。您可以將其作爲回答發佈,並在可以的時候接受,以便問題得到解答。 – Arun 2013-03-27 22:43:08

回答

1

它實際上是R-FAQ 7.10:

你應該能夠看到您的R-幫助()系統的常見問題。在我的機器被設置爲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(levels(f))[as.integer(f)] 在任何情況下,都不要直接爲任務調用as.numeric()或它們的喜歡(as.numeric()或unclass()給出內部代碼)。

+0

應該有一個問題標記爲每個問題的r-faq,我想,不是三個(http://stackoverflow.com/questions/16950672和http://stackoverflow.com/questions/22381154是你也標記了)。此外,這是一個鏈接唯一的答案(不鼓勵SO)。最後,我的理解是,r-faq標籤用於SO上經常提出的問題,而不是R-FAQ文檔中回答的任何問題。 (我不是說這不屬於這兩類;只是說。) – Frank 2017-03-17 18:59:25

+0

我不明白你的第一句話。如果安裝R軟件包,它是虛擬用戶機器上的材料的參考。這不是一個網址「鏈接」。 – 2017-03-18 16:29:56

+0

我的第一句和「最後」的句子是相關的 - 如果有蠢事,請將它們標記爲這樣;並且通過僅將其應用於僞裝目標而不是僞裝來節省[標籤:r-faq]標籤的使用。它是一個鏈接,是的,從技術上說它不是,但它具有不回答答案正文中問題的相同特徵。首先,你可以給出正確的說明來達到FAQ(因爲它不明顯);其次,你可以引用你認爲與之相關的任何內容。無論如何,如果仍然存在混淆或分歧,我們可以在R聊天室中談論這一點。 – Frank 2017-03-18 16:41:03

0

阿倫和達誠提供這些問題的答案:

阿倫建議:

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())幫助大時間!

達誠推薦:

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])還幫助大時間!