qdap中的sentSplit()在没有标记时出现问题

时间:2014-07-21 22:35:02

标签: r qdap

我使用qdap包进行极性分析。在CSV文件中,我有一个没有标点符号的句子,如"糟透了不可移动" (没有时期)。 在数据框上使用sentsplit后,此行显示NA。

如何在R中的不完整句子中添加标记?有办法阻止这个吗?

1 个答案:

答案 0 :(得分:4)

许多qdap函数都需要格式正确/结构化的数据表单。这通常意味着带有标记的句子,通常每行只有一个句子。这就是算法如何确定什么是句子。如果句子确实是不完整的句子qdap期望管道符号“|”表示这一点。所以这里有一个例子,用end_mark函数检测缺少的标记,然后在末尾粘贴|

dat <- DATA
dat[1, 4] <- "Sucks to not be removable"
missing <- end_mark(dat[["state"]]) == "_"
dat[["state"]][missing] <- paste0(dat[["state"]][missing], "|")

sentSplit(dat, "state")

##        person  tot sex adult code                       state
## 1         sam  1.1   m     0   K1  Sucks to not be removable|
## 2        greg  2.1   m     0   K2     No it's not, it's dumb.
## 3     teacher  3.1   m     1   K3          What should we do?
## 4         sam  4.1   m     0   K4        You liar, it stinks!
## 5        greg  5.1   m     0   K5     I am telling the truth!
## 6       sally  6.1   f     0   K6      How can we be certain?
## 7        greg  7.1   m     0   K7            There is no way.
## 8         sam  8.1   m     0   K8             I distrust you.
## 9       sally  9.1   f     0   K9 What are you talking about?
## 10 researcher 10.1   f     1  K10           Shall we move on?
## 11 researcher 10.2   f     1  K10                  Good then.
## 12       greg 11.1   m     0  K11                 I'm hungry.
## 13       greg 11.2   m     0  K11                  Let's eat.
## 14       greg 11.3   m     0  K11                You already?

顺便提一下,qdap(版本&gt; = 2.1.1)的开发版包含一系列新的数据格式化功能,包括check_text,可自动检查潜在的格式问题并打印一份报告潜在问题的位置和可能的修复。