使用 R 和 cSplit() 将文本拆分为单词
Splitting text to words with R and cSplit()
我正在尝试将一系列句子拆分成单独的词,即对文本进行标记。
我找到了一个 R 包 splitstackshape
,它可以做我想做的事,几乎...它将输出截断到第一行和最后 5 行。
无论如何,这就是我需要做的:
id text
1 Lorem ipsum dolor sit amet
2 consectetur adipiscing elit
3 Donec euismod enim quis
4 nunc fringilla sodales
5 Etiam tempor ligula vitae
6 pellentesque dictum
7 Quisque non justo scelerisque
8 est facilisis congue quis vel
9 Phasellus ex lorem
10 eleifend at magna vel
11 egestas eleifend massa
输出:
id word
1 Lorem
1 ipsum
1 dolor
1 sit
1 amet
2 consectetur
2 adipiscing
...
也就是说,我需要单独的行中的单词,但要在其所属句子的 ID 旁边。
我正在尝试 cSplit(data, "text", " ", "long")
,但它被截断了..
更新。仅供参考, 是如何做相反的事情
cSplit
函数returns一个data.table
。
您所描述的是 data.table
的默认打印行为。要查看实际效果,请尝试以下操作:
library(data.table)
as.data.table(airquality)
print(as.data.table(airquality))
print(as.data.table(airquality), nrows = Inf)
因此,要获得完整的 table 显示,您可以尝试:
library(splitstackshape)
print(cSplit(data, "text", " ", "long"), nrows = Inf)
我正在尝试将一系列句子拆分成单独的词,即对文本进行标记。
我找到了一个 R 包 splitstackshape
,它可以做我想做的事,几乎...它将输出截断到第一行和最后 5 行。
无论如何,这就是我需要做的:
id text
1 Lorem ipsum dolor sit amet
2 consectetur adipiscing elit
3 Donec euismod enim quis
4 nunc fringilla sodales
5 Etiam tempor ligula vitae
6 pellentesque dictum
7 Quisque non justo scelerisque
8 est facilisis congue quis vel
9 Phasellus ex lorem
10 eleifend at magna vel
11 egestas eleifend massa
输出:
id word
1 Lorem
1 ipsum
1 dolor
1 sit
1 amet
2 consectetur
2 adipiscing
...
也就是说,我需要单独的行中的单词,但要在其所属句子的 ID 旁边。
我正在尝试 cSplit(data, "text", " ", "long")
,但它被截断了..
更新。仅供参考,
cSplit
函数returns一个data.table
。
您所描述的是 data.table
的默认打印行为。要查看实际效果,请尝试以下操作:
library(data.table)
as.data.table(airquality)
print(as.data.table(airquality))
print(as.data.table(airquality), nrows = Inf)
因此,要获得完整的 table 显示,您可以尝试:
library(splitstackshape)
print(cSplit(data, "text", " ", "long"), nrows = Inf)