2016-04-07 8 views
0

私はいくつかの単語は、だから私の最終的な出力は、単語とその分類のリストでなければなりませんなど、名詞、動詞、異なる長さのリストのリストを作成

あるかどうかを確認しようとしています。

は、このスクリプトを考えてみましょう:いくつかの単語はそうなど動詞、副詞、同様に、複数の分類を持って

library(data.table) 
library(xml2) 
random_words_2 <- c("aa","ab","ac") 
dic <- list() 
dics <- list() 
for (i in 1:3){ 
h <-  paste0("http://www.oxforddictionaries.com/definition/english/",random_words_2[i]) 
html <- read_html(h) 
oxford <- html_nodes(html, css = ".partOfSpeech") 
n <- length(oxford) 
for (m in 1:n) { 
word <- as_list(oxford[[m]]) 
w <- unlist(word[1]) 
dic[[m]] <- data.table(as.character(w)) 
} 
dics <- rbindlist(dics, dic,use.names = TRUE,fill=FALSE) 
} 

、リストは、異なるサイズを持つことになります。 私はしかし、私の解決策を与える必要がありますDICS変数は、ある、上記のコードを試してみました:、

ヌルdata.table(0行0 colsの)

しかし、DIC変数います:

[[1]] V1 1:名詞

[[2]] V1 1:略称

誰かがこれが起こっている理由を説明することができますし、それを解決するためのより効率的な方法がありますか?

おかげ

答えて

1

でforループに置き換え、この1:「AA」は「名詞」と「略語」です:あなたは、たとえば、出力と単語を関連付けるだろうかあなたの溶液中の

dics <- list() 
for (i in 1:3){ 
h <- paste0("http://www.oxforddictionaries.com/definition/english/",random_words_2[i]) 
html <- read_html(h) 
oxford <- html_nodes(html, css = ".partOfSpeech") 
n <- length(oxford) 
dic <- list() 
for (m in 1:n) 
{ 
    word <- as_list(oxford[[m]]) 
    w <- unlist(word[1]) 
    dic[[m]] <- data.table(as.character(w)) 
} 
dics <- c(dics, setNames(list(dic),random_words_2[i])) 
} 
+0

「ab」は「名詞」、「名詞」など...? – unmark1

+0

私はあなたが望むものを理解していないのですが、短い出力を投稿できますか? – adaien

+0

単語分類分類 ab名詞略語は「行列」形式で、最初の列は単語になり、他の列はそれぞれの分類になります – unmark1

関連する問題