r - 使用来自文件名的变量创建数据框
问题描述
tldr:我想创建一个包含文档中某些单词出现次数的数据框,然后可视化它们随时间的变化,但在此过程中我丢失了必要的变量。
文本文件以包含许多关于它们的数据的格式严格命名:“000-yyyy-mmdd-AAA-00-00-AA.txt”(0 代表数字,As 代表字母)。我使用“readtext”将其用作文档变量。
files <- readtext(
"all_files.zip",
docvarsfrom = "filenames",
dvsep = "-",
docvarnames = c("var1", "year", "daymonth", "var2", "var3", "var4", "var5"),
)
由此,我用下面的代码计算特定术语,取自另一个问题但是,在某个地方我丢失了文档变量:我只得到带有数字的整个文件名,同时我至少需要 year 变量来对它们进行排序。我尝试了几种方法,例如获取文件名,将年份部分正则表达式取出并作为列插入并尝试更改几个设置和包,但作为初学者,我找不到解决方案。我猜我可能在标记化过程中丢失了数据,但我不确定。你能给我一个建议吗,我该怎么办?
以下软件包在我的会话中处于活动状态:
library(readr)
library(readtext)
library(dplyr)
library(lubridate)
library(stringr)
library(quanteda)
library(quanteda.textmodels)
library(quanteda.textstats)
library(purrr)
library(ggplot2)
library(tidytext)
files_toks <- tokens(files)
mydict <- c("apple", "pear")
dfmat <- tokens(files_toks) %>%
tokens_select(mydict) %>%
dfm()
convert(dfmat, to = "data.frame")
dfmat 数据框如下所示:
doc_id apple pear
1 001-yyyy-mmdd-AAA-00-00-AA.txt 3 1
2 002-yyyy-mmdd-AAA-00-00-AA.txt 2 5
...
解决方案
推荐阅读
- azure - 如何始终如一地成功地将我的 Azure Service Fabric 应用程序部署到本地集群?
- postgresql - ST_ApproximateMedialAxis 在最终近似值上留下骨架线
- php - 在 Laravel 中的视图上渲染数组集合中的单个项目
- java - 如何在 Vaadin 画布上单击提交按钮时填充文本?
- networking - 贝叶斯分析应用对安全问题的不确定性
- java - 迭代和过滤数组 2D Java 8
- php - Laravel 资源控制器的方法表现奇怪
- javascript - 使用更改标记动态更新 Google 地图中心
- go - 在 Go 中导入自定义包
- r - 如何在R语言中选择30年4月到9月的选定月份的顺序?