![](/img/trans.png)
[英]How to combine different .csv files to one complete file by adding the data of every file as an additional row using R?
[英]How to do a wordcount on every row of a CSV file?
我有一个带有ID
字段和TEXT
字段的CSV文件。 我需要在每一行添加第三个字段,其中包含TEXT
字段的字数。 我该怎么办?
示例:如果这是我的起始数据框
ID TEXT
1 1 Lorem ipsum dolor sit amet
2 2 Praesent venenatis nisl id
3 3 Nunc dapibus maximus vulputate. Nunc
那么期望的结果是
ID TEXT WordCount
1 1 Lorem ipsum dolor sit amet 5
2 2 Praesent venenatis nisl id 4
3 3 Nunc dapibus maximus vulputate. Nunc 5
我会使用stringi包中的方便的stri_count_words()
函数。
df$WordCount <- stringi::stri_count_words(df$TEXT)
这使
ID TEXT WordCount
1 1 Lorem ipsum dolor sit amet 5
2 2 Praesent venenatis nisl id 4
3 3 Nunc dapibus maximus vulputate. Nunc 5
但是在基数R中,您可以在删除标点符号后使用strsplit()
拆分空格,然后获取列表元素的长度。
lengths(strsplit(gsub("[[:punct:]]", "", df$TEXT), "\\s+"))
# [1] 5 4 5
或者,正如@David建议的那样,只需计算空格并添加1. trimws()
用于删除可能潜伏在字符串开头或结尾的任何错误空格。
lengths(gregexpr("\\s+", trimws(df$TEXT))) + 1L
# [1] 5 4 5
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.