나는 단락의 첫 번째 문자 인 경우에만 코퍼스에서 아포스트로피를 제거하려고합니다. 문장에서 첫 단어를 찾는 것에 관한 글은 보았지만 단락은 발견하지 못했습니다.단락의 첫 단어 추출 R
내가 텍스트를 분석하고 있기 때문에 내가 이것을 시도하는 이유가 있습니다. 모든 구두점을 지우고 싶지만 아포스트로피와 대시는 단어 중간에 에만 사용하십시오.. 이 작업을 시작하려면, 내가 그랬어 :이 성공적으로 새로운 라인에서 시작를 제외한 아포스트로피를 모두 제거
library(tm)
library(qdap)
#docs is any corpus
docs.test=tm_map(docs, PlainTextDocument)
docs.test=tm_map(docs.test, content_transformer(strip), char.keep=c("'","-"))
for(j in seq(docs.test))
{
docs[[j]] <- gsub(" \'", " ", docs[[j]])
}
. 새로운 라인들을 제거하기 위해, 나는 시도했다 :
일반적으로for(j in seq(docs.test))
{
docs[[j]] <- gsub("\r\'", " ", docs[[j]])
docs[[j]] <- gsub("\n\'", " ", docs[[j]])
docs[[j]] <- gsub("<p>\'", " ", docs[[j]])
docs[[j]] <- gsub("</p>\'", " ", docs[[j]])
}
, 나는 단락의 첫 단어를 추출 할 수있는 방법을 찾기 위해 도움이 될 것입니다 생각합니다. 내 특정 문제에 대해, 나는 그 아포스트로피를 얻는 방법으로 그것을 시도하고있다. 현재 qdap 및 tm 패키지를 사용하고 있지만 더 많이 사용하고 있습니다.
아이디어가 있으십니까?
감사합니다.
하나의 옵션이 tokenizers을 [tidytext] (http://tidytextmining.com/intro.html) 프레임 워크를 사용하고 사용하는 것 등을하는
paste(x, collapse = " ")
을 보내고sapply()
으로 할 필요가있는 경우 :'라이브러리를 (gutenbergr); 도서관 (tidyverse); 도서관 (tidytext); moby_dick <- gutenberg_download (2489); mobiles_dick %> % unnest_tokens (단락, 텍스트, 토큰 = '단락') %> % group_by (단락 번호 = 행 번호()) %> % unnest_tokens (단어, 단락) %> % slice (1) 텍스트가 저장되는 방식에 따라 모양이 달라집니다. – alistaire나는 당신의 제안을 시도하고, fullplay = data_frame (file = c2name) %> % mutate (텍스트 = map (file, read_lines)) fullplay % unnest_tokens_ (word, text) %> % mutate_ = ROW_NUMBER 내가 오류가있어()) : unnest_tokens_ 오류 (as.vector (fullplay)) : unnest_tokens 입력의 모든 열이 원자 벡터 (하지리스트) 그래서 나는이 fullplay.new을 시도 할 것으로 예상 = unlist (fullplay $ text) fullplay.new % unnest_tokens_ (단어, 텍스트) %> mutate_ (행 번호 = 행 번호) tbl [[input_col]]에 오류가 발생했습니다. 잘못된 첨자 유형 'closure' –
데이터의 구조를 볼 수 없다면 말하기 어렵지만 ac orpus가 제시하는 것처럼, tidytext의'tidy' 메소드를 사용해 그것을 data.frame으로 강제 변환 해보십시오. – alistaire