입니다. 프로그래밍에 매우 익숙하며 내 대학 프로젝트의 R 프로그래밍에 대한 도움이 필요합니다. 각 단어의 빈도가있는 표를 만들고 싶습니다. 예를 들면 : 입력 파일은 이러한 CSV 파일에 쉼표 (,)로 구분하는 ID 사용자가 방문 ID와 webURLs 같은 데이터의 약 70000 행이 코드 아래URL에있는 모든 단어의 행 빈도는 R
ID URLs
m7fdn privatkunden:handys, tablets, tarife:vorteile & services:ausland & roaming,privatkunden:hilfe:mehr hilfe:ger,privatkunden:hilfe:service-themen:internet dsl & ltekonfigurieren
9ufdf mein website:kontostand & rechnung:meinerechnung:6-monate-übersicht zu ihrer rufnummer,mein website:kontostand & rechnung:meinerechnung:kosten
09nd7 404 <https://www.website.de/ussa/login/login.ftel?errorcode=2001&name=%20&goto=https%3a%,mein website:login online user:show form:login.ftel/login),mobile,mobile:meinwebsite:kundendaten (mydata.html),mobile:meinwebsite:startseite (index.html),privatkunden:home,privatkunden:meinwebsite:login.ftel
URL의 모든 특수 문자를 제거했습니다 및 주파수를주고있다 전체 문서에서 사용 된 단어. 하지만 나는 한 번에 전체 문서를 원한다. 나는 행당 출력을 원한다. 내가 얻고
text <- readLines("sample.csv")
docs <- Corpus(VectorSource(text))
inspect(docs)
toSpace <- content_transformer(function (x , pattern)gsub(pattern, " ", x))
docs <- tm_map(docs, toSpace, "/")
docs <- tm_map(docs, toSpace, "@")
docs <- tm_map(docs, toSpace, ",")
docs <- tm_map(docs, toSpace, ";")
docs <- tm_map(docs, toSpace, "://")
docs <- tm_map(docs, toSpace, ":")
docs <- tm_map(docs, toSpace, "<")
docs <- tm_map(docs, toSpace, ">")
docs <- tm_map(docs, toSpace, "-")
docs <- tm_map(docs, toSpace, "_")
docs <- tm_map(docs, toSpace, "://")
docs <- tm_map(docs, toSpace, "&")
docs <- tm_map(docs, toSpace, ")")
docs <- tm_map(docs, toSpace, "%")
dtm <- TermDocumentMatrix(docs)
m <- as.matrix(dtm)
v <- sort(rowSums(m),decreasing=TRUE)
d <- data.frame(word = names(v),freq=v)
출력은 다음과 같습니다 :
word freq
mein mein 1451
website website 1038
privatkunden privatkunden 898
meinwebsite meinwebsite 479
rechnung rechnung 474
I는 다음과 같이해야 원하는 출력 :
ID privatkunden website hilfe rechnung kosten
m7fdn 4 7 2 7 0
9ufdf 3 1 9 3 5
09nd7 5 7 2 8 9
위의 표는 ID m7fdn가 4 번 privatkunden 것을 의미 그것의 URL 및 2 시간 hilfe에있는 등등. 위의 표는 샘플 용이며 정확한 단어는 계산하지 않습니다. 이 테이블은 많은 수의 단어가있을 수 있습니다. 이 산출물을 얻도록 도와주세요. 이 표를 얻으면 기계 학습을 적용해야합니다. 데이터의
1) 읽기 :
text <- readLines("sample.csv")
이 text[1]
는 데이터의 전체 첫 번째 줄에있는 당신에게 벡터를 제공, text[2]
이미 필요한 것 : as.matrix (dtm). 접근 방식이 문서를 기둥으로 가지고 있기 때문에 필요한 경우 조 변경하십시오. 당신은'as.matrix (DocumentTermMatrix (docs))'대신 transpose 대신 직접'DocumentTermMatrix'를 사용할 수 있습니다. – Jota
안녕하세요 Jota, 나는 ID를 제외하고 싶었지만 내 방법은 하나의 문서로 전체 inout 파일을 읽고 ID에서 빈도를 추가했습니다. 두 컬럼을 분리하여 사용했습니다. 그런데 제안에 감사드립니다. –