R. Преобразование вектора типа символа в строку - PullRequest
0 голосов
/ 28 июня 2018

У меня возникли проблемы с преобразованием объекта векторного типа в строку.

Я пробовал:

x <- paste(x, sep = " ", collapse = NULL) 

и различные типы вставок работают, но возвращение is.String(x) по-прежнему FALSE, а возвращение is.vector по-прежнему TRUE. Вот мой код ниже:

bio_sentences <- sent_detect(bio) #Using openNLP to get the sentences from a bio
is.vector(bio_sentences) #Returns TRUE
sentisimo <- bio_sentences[1] #Needed as I want to do analysis sentence by sentence
sentisimo <- paste(sentisimo, sep = " ", collapse = NULL)
as.character(sentisimo) 
is.vector(sentisimo) #Returns TRUE
is.character(sentisimo) #Returns TRUE
sentisimo <- paste(bio_sentences[1], sep = "")
as.String(sentisimo)
is.String(sentisimo) #Returns FALSE
str(sentisimo) Returns chr "1st sentence of the bio"
dput(sentisimo) #Returns "Dennis Muilenburg is chairman of the board, president and chief executive officer of The Boeing Company." 

Если бы кто-нибудь мог помочь мне преобразовать элементы вектора в строку, я был бы признателен.

1 Ответ

0 голосов
/ 28 июня 2018

строка (как определено в смысле пакета НЛП) не совпадает с символом base-R.

library(NLP)
xchar <- "abc"
xstring <- as.String("abc")

> xchar
[1] "abc"
> xstring
abc

Из этого вы уже можете увидеть одно из отличий строк НЛП и базовых символов R, а именно свойства печати. Кроме того:

> is.character(xstring)
[1] TRUE
> is.String(xstring)
[1] TRUE
> is.character(xchar)
[1] TRUE
> is.String(xchar)
[1] FALSE

Так что если вы хотите объект String, вы должны использовать as.String вместо as.character

...