使用R将每个字符行转换为字符串

时间:2019-07-19 09:50:12

标签: r

请考虑以下示例数据;

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"

任何输入都会很有帮助。

1 个答案:

答案 0 :(得分:0)

toString不在NLP软件包中,它是基于R的函数。但是NLP中有函数Stringis.Stringas.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