gpt4 book ai didi

r - 如何为文本语句中的单词分配数字,然后将它们添加到 r 中?

转载 作者:行者123 更新时间:2023-12-02 06:46:56 31 4
gpt4 key购买 nike

我有一个 csv 文件,其中有一个名为 text 的列,如下所示,我想为某些单词分配数字,然后添加它们。

text
I have apples oranges and mangos.
I like cats.
sports and exercise.

我使用以下值创建了一个名为 matrix_values 的矩阵。

     [,1]     [,2]
[1,] "apples" "1"
[2,] "mangos" "3"
[3,] "sports" "78"

下面是我的代码。

data <- read.csv(file.choose(), header = TRUE, stringsAsFactors = FALSE)

values <- c('apples', 'mangos', 'sports', 1,3,78)

matrix_values = matrix(values,nrow =3, ncol = 2)

输出应该是这样的

text,                                Value
I have apples oranges and mangos, 4
I like cats, 0
sports and exercise, 78

请注意矩阵中的值如何将 apples 和 mangos 的值相加,并将其他词视为 0。

我该怎么做?

最佳答案

如果你strsplit你的句子,你可以匹配到你的lookup表和求和

x <- c(
"I have apples oranges and mangos.",
"I like cats.",
"sports and exercise."
)

lkup <- data.frame(
word = c("apples", "mangos", "sports"),
value = c(1, 3, 78)
)

vapply(
strsplit(x, "\\s+|[.,]+"),
function(x) sum(lkup$value[match(x,lkup$word)], na.rm=TRUE),
FUN.VALUE = numeric(1)
)
#[1] 4 0 78

进一步解释正则表达式:

\\s+     whitespace, repeated 1 or more times
| OR
[.,]+ a period `.` or comma `,` repeated 1 or more times

关于r - 如何为文本语句中的单词分配数字,然后将它们添加到 r 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57468853/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com