【问题标题】:R. Converting a vector of type character, into a stringR. 将字符类型的向量转换为字符串
【发布时间】:2018-12-07 08:16:42
【问题描述】:

我在将矢量类型对象转换为字符串时遇到了一些问题。

我试过了:

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." 

如果有人能帮我将向量的元素转换为字符串,我将不胜感激。

【问题讨论】:

  • 你从哪个库获得is.String
  • 请显示向量和你想要的输出。
  • @A. Suliman 这个包叫做“NLP”

标签: r string vector type-conversion opennlp


【解决方案1】:

字符串(在 NLP 包的意义上定义)与 base-R 字符不同。

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

> xchar
[1] "abc"
> xstring
abc

从这里你已经可以看出 NLP 字符串和基本 R 字符的区别之一,即打印属性。 另外:

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

所以如果你想要一个字符串对象,你应该使用as.String 而不是as.character

【讨论】:

  • 我已经尝试过使用 as.String,但是一旦我尝试了 is.String,我仍然会得到错误
  • 您能否在上面给出一个完整的示例,以便我们尝试找出问题所在?也请给我们 dput(sentisimo) 的输出。
  • > dput(sentisimo) "Dennis Muilenburg 是波音公司的董事长、总裁兼首席执行官。"
  • 完整示例是什么意思?我不确定我还能添加什么
  • as.string 带有“a”,而不是 is.string:尝试:sentisimo = as.String(sentisimo) 然后:is.String(sentisimo)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-02-15
  • 1970-01-01
  • 1970-01-01
  • 2021-09-19
  • 1970-01-01
  • 2017-12-11
  • 2020-02-27
相关资源
最近更新 更多