스피TermDocumentMatrix에서 행을 하나의 행으로 결합하는 방법은 무엇입니까?
TermDocumentMatrix
(나는 모든 행이 각각의 단어를 나타내는 알) '오두막, 직원 및 승무원'samething을 의미하기 때문에
ex) cabin, staff -> crews
, 스피 결합하는 시도에 행의에 행을 결합하는 시도 '승무원, 직원'을 나타내는 행 은 '승무원'을 나타내는 한 행에 표시됩니다.
하지만 전혀 작동하지 않습니다.
R 내가 입력 argument "weighting" is missing, with no default
코드는이
이 코드를 수정하거나이 문제를 해결하기 위해 더 나은 방법을 제안하십시오 TermDocumentMatrix 행을 결합하는 올바른 접근 방식이 아닌 어쩌면
r=GET('http://www.airlinequality.com/airline-reviews/cathay-pacific-airways/')
base_url=('http://www.airlinequality.com/airline-reviews/cathay-pacific-airways/')
h<-read_html(base_url)
all.reviews = c()
for (i in 1:10){
print(i)
url = paste(base_url, 'page/', i, '/', sep="")
r = GET(url)
h = read_html(r)
comment_area = html_nodes(h, '.tc_mobile')
comments= html_nodes(comment_area, '.text_content')
reviews = html_text(comments)
all.reviews=c(all.reviews, reviews)}
cps <- Corpus(VectorSource(all.reviews))
cps <- tm_map(cps, content_transformer(tolower))
cps <- tm_map(cps, content_transformer(stripWhitespace))
cps <- tm_map(cps, content_transformer(removePunctuation))
cps <- tm_map(cps, content_transformer(removeNumbers))
cps <- tm_map(cps, removeWords, stopwords("english"))
tdm <- TermDocumentMatrix(cps, control=list(
wordLengths=c(3, 20),
weighting=weightTf))
rows.cabin = grep('cabin|staff', row.names(tdm))
rows.cabin
# [1] 235 1594
count.cabin = as.array(rollup(tdm[rows.cabin,], 1))
count.cabin
#Docs
#Terms 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
#1 0 1 1 0 0 2 2 0 0 1 1 0 4 0 1 0 1 0 2 1 0 0 1 3 1 4 2 0 3 0 1 1 4 0 0 2 1 0 0 2 1 0 2 1 3 3 1
#Docs
#Terms 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
#1 0 1 0 1 2 3 2 2 1 1 0 2 0 0 0 0 0 2 0 1 0 0 4 0 2 2 1 3 1 1 1 1 0 0 0 5 3 0 2 1 0 1 0 0
#Docs
#Terms 92 93 94 95 96 97 98 99 100
#1 1 5 2 1 0 0 0 1 0
row.crews = grep('crews', row.names(tdm))
row.crews
#[1] 408
tdm[row.crews,] = count.cabin
rows.cabin = setdiff(rows.cabin, row.crews) # ok
tdm = tdm[-rows.cabin,] # ok
dtm = as.DocumentTermMatrix(tdm)
# Error in .TermDocumentMatrix(t(x), weighting) :
# argument "weighting" is missing, with no default
이하 말했다 문제.
미리 감사드립니다.
안녕! 감사합니다. 늦어서 죄송합니다. –
하지만 여전히 제안한 방식으로 행을 결합한 후에 TermDocumentMatrix에서 tf, tfidf 가중치를 잃었습니다. 나는 많은 것들을 시도했지만, 왜 그리고 어떻게 해결 해야할지 모르겠습니다. 너는 어떤 생각이있어? –
이론 : 속성 (tdm), 목록 (가중 = unlist (속성 (weightTf) [c ("이름", "약자"), F, F)))'및 표준 용어 주파수 가중치 (이름 및 약어)가 반환됩니다. – lukeA