请考虑以下示例数据;
text_1 <- c("Test Test Test", "Sample Data")
text_2 <- c("Sample Sample Sample", "Test Data")
df <- data.frame(text_1, text_2, stringsAsFactors = FALSE)
我想将 text_1 从字符转换为字符串,并将其添加到新列,即 string_text1 。
要从字符转换为字符串,我使用软件包 NLP 中的 as.String 函数。
但是,当我应用创建的代码时,会得到以下输出;
| text_1 | text_2 | string_text1 |
--------------------------------------------------------------------
| Test Test Test | Sample Data | Test Test Test Sample Data |
| Sample Sample Sample | Test Data | Test Test Test Sample Data |
我正在使用的代码;
library(NLP)
df$string_text1 <- as.String(df$text_1)
我想要的输出如下;
| text_1 | text_2 | string_text1 |
--------------------------------------------------------------------
| Test Test Test | Sample Data | Test Test Test |
| Sample Sample Sample | Test Data | Sample Sample Sample |
我希望将每一行都转换为String类。
Class 'String' chr "Test Test Test"
任何输入都会很有帮助。
答案 0 :(得分:0)
toString
不在NLP软件包中,它是基于R的函数。但是NLP中有函数String
,is.String
和as.String
。
String
仅转换字符向量的第一个元素,因此我使用map获得了我认为您想要的结果。希望我已经正确解释了这一点。
library(tidyverse)
library(NLP)
text_1 <- c("Test Test Test", "Sample Data")
text_2 <- c("Sample Sample Sample", "Test Data")
df <- data.frame(text_1, text_2, stringsAsFactors = FALSE)
df <- df %>%
mutate(string_text1 = map(.x = df$text_1, .f = NLP::String))
df
# text_1 text_2 string_text1
#1 Test Test Test Sample Sample Sample Test Test Test
#2 Sample Data Test Data Sample Data