dplyr文本挖掘列`text`必须是1d原子向量或列表

问题描述 投票:0回答:1

我正在尝试使用Tidytext(Text Mining with R),我想使用widyr库中的函数pairwise_count。我的输入看起来像:

my input table

这可能是RapidMiner Execute R运算符中的代码:

rm_main = function(data)
{
library(dplyr)
library(tidytext)
library(widyr)
set.seed(2017)

test <- data_frame(data) %>%
    pairwise_count(text, word)
    print(data)
 return(list(data))
}

当我执行代码时,我得到错误:“列data必须是1d原子向量或列表”

拜托,是否有人可以帮助我。

关心托比亚斯

r text-mining rapidminer
1个回答
0
投票

在我等待您的数据集的详细信息时,我发现您的代码中几乎没有错误。例如。:

  1. 如果datarm_main参数是data.frame那么就没有必要将它转换为data.frame
  2. library可以在代码的最开头加载。
  3. 功能pairwise_count的参数不正确。该参数应与columndata.frame中的data.table名称匹配

校正后,函数及其对样本数据的使用将是:

library(dplyr)
library(tidytext)
library(widyr)

df <- data_frame(Id = rep(1:5, each = 2),
                  Text = c("a", "b",
                             "a", "c",
                             "a", "c",
                             "b", "e",
                             "b", "f"))
#define function 
rm_main = function(data)
{
  if(is.data.frame(data)){

    test <- data %>%
      pairwise_count(Text, Id)
  }
  print(data)
  return(list(data))
}

#call function now
rm_main(df)
相关问题
热门问答
最新问题