使用csv文件中的两列创建术语频率矩阵,单位为R?
我是R的新手。我正在挖掘csv文件中的数据——一列中的报告摘要,另一列中的报告日期,第三列中的报告机构。我需要调查与“欺诈”相关的术语是如何随着时间的推移而变化的,或者是如何随着机构的不同而变化的。我已经过滤了包含“欺诈”一词的行,并创建了一个新的csv文件 如何创建一个以年为行、以术语为列的术语频率矩阵,以便查找顶级频率术语并进行聚类 基本上,我需要创建一个术语频率矩阵,根据年份确定术语频率使用csv文件中的两列创建术语频率矩阵,单位为R?,r,csv,text-mining,R,Csv,Text Mining,我是R的新手。我正在挖掘csv文件中的数据——一列中的报告摘要,另一列中的报告日期,第三列中的报告机构。我需要调查与“欺诈”相关的术语是如何随着时间的推移而变化的,或者是如何随着机构的不同而变化的。我已经过滤了包含“欺诈”一词的行,并创建了一个新的csv文件 如何创建一个以年为行、以术语为列的术语频率矩阵,以便查找顶级频率术语并进行聚类 基本上,我需要创建一个术语频率矩阵,根据年份确定术语频率 Input data: (csv) **Year** **Summary** (around 3
Input data: (csv)
**Year** **Summary** (around 300 words each)
1945 <text>
1985 <text>
2011 <text>
Desired 0utput : (Term frequency matrix)
term1 term2 term3 term4 .......
1945 3 5 7 8 .....
1985 1 2 0 7 .....
2011 . . .
Any help would be greatly appreciated.
输入数据:(csv)
******年摘要**(约300字)
1945
1985
2011
期望输出:(术语频率矩阵)
第1条第2条第3条第4条。。。。。。。
1945 3 5 7 8 .....
1985 1 2 0 7 .....
2011 . . .
任何帮助都将不胜感激。
以后请提供一个最简单的工作示例。
这并不完全是使用tm,而是qdap,因为它更适合您的数据类型:
library(qdap)
#create a fake data set (please do this in the future yourself)
dat <- data.frame(year=1945:(1945+10), summary=DATA$state)
## year summary
## 1 1945 Computer is fun. Not too fun.
## 2 1946 No it's not, it's dumb.
## 3 1947 What should we do?
## 4 1948 You liar, it stinks!
## 5 1949 I am telling the truth!
## 6 1950 How can we be certain?
## 7 1951 There is no way.
## 8 1952 I distrust you.
## 9 1953 What are you talking about?
## 10 1954 Shall we move on? Good then.
## 11 1955 I'm hungry. Let's eat. You already?
或者,您可以创建tru DocumentTerm矩阵,如下所示:
以后请提供一个最简单的工作示例。 这并不完全是使用tm,而是qdap,因为它更适合您的数据类型:
library(qdap)
#create a fake data set (please do this in the future yourself)
dat <- data.frame(year=1945:(1945+10), summary=DATA$state)
## year summary
## 1 1945 Computer is fun. Not too fun.
## 2 1946 No it's not, it's dumb.
## 3 1947 What should we do?
## 4 1948 You liar, it stinks!
## 5 1949 I am telling the truth!
## 6 1950 How can we be certain?
## 7 1951 There is no way.
## 8 1952 I distrust you.
## 9 1953 What are you talking about?
## 10 1954 Shall we move on? Good then.
## 11 1955 I'm hungry. Let's eat. You already?
或者,您可以创建tru DocumentTerm矩阵,如下所示:
这个老问题因为不清楚而结束了。对不起,我是新来的。添加了额外的数据。为了将来参考,closed并不意味着“死亡”。封闭式问题旨在作为“暂停”,直到问题可以通过编辑得到改进。(如果无法改进,通常会在一段时间后删除。)“封闭”术语在这方面有点误导(目前正在进行一些修订)。无论如何,你的问题不太符合我们在这里拍摄的标准。例如,通过谷歌搜索“r中的术语频率矩阵”,我很快就能找到tm软件包。您应该首先研究一些类似的工具,进行一些尝试,然后在某些特定代码不起作用时寻求帮助。谢谢您的回复。我知道tm软件包,在这里发布之前我已经尝试了很久。但期望的输出并不是通过tm软件包获得的——它基本上接收了一个文本语料库,并根据术语所在的文档创建了TDM。在这里,我的要求是不同的。如果我错了,请纠正我,并提出解决方案。提前谢谢。旧问题已结束,因为它不清楚。对不起,我是新来的。添加了额外的数据。为了将来参考,closed并不意味着“死亡”。封闭式问题旨在作为“暂停”,直到问题可以通过编辑得到改进。(如果无法改进,通常会在一段时间后删除。)“封闭”术语在这方面有点误导(目前正在进行一些修订)。无论如何,你的问题不太符合我们在这里拍摄的标准。例如,通过谷歌搜索“r中的术语频率矩阵”,我很快就能找到tm软件包。您应该首先研究一些类似的工具,进行一些尝试,然后在某些特定代码不起作用时寻求帮助。谢谢您的回复。我知道tm软件包,在这里发布之前我已经尝试了很久。但期望的输出并不是通过tm软件包获得的——它基本上接收了一个文本语料库,并根据术语所在的文档创建了TDM。在这里,我的要求是不同的。如果我错了,请纠正我,并提出解决方案。提前谢谢。多方便的功能啊!您的
wfm
比使用tm
软件包中的DataframeSource
容易得多。对于这种类型的数据更容易,但是对于语料库数据(tm是为其设计的)则容易得多。漂亮!非常感谢泰勒。将尝试此代码。我的csv文件有98000行。你会建议对整个语料库使用相同的代码吗?此外,如何调查与“欺诈”相关的术语是如何随着时间的推移而变化的,或者是如何因机构而异的?我们能做聚类吗?这些问题我不知道答案。您可能想使用对应分析,但这超出了我的专业知识范围。另外,在结尾使用t
是不必要的,并且可能会无缘无故地花费大量的时间。qdap可以很容易地完成您想要做的事情,但当您甚至还没有阅读该函数的文档时,很难花时间来帮助您。如果你看一下wfm,你会发现有一个简单的方法来处理stopwords。如果你愿意学习,请在pdf中搜索stem(或查看函数列表),我愿意提供帮助,但我不愿意为人们编写代码。多么方便的函数啊!您的wfm
比使用tm
软件包中的DataframeSource
容易得多。对于这种类型的数据更容易,但是对于语料库数据(tm是为其设计的)则容易得多。漂亮!非常感谢泰勒。将尝试此代码。我的csv文件有98000行。你会建议对整个语料库使用相同的代码吗?此外,如何调查与“欺诈”相关的术语是如何随着时间的推移而变化的,或者是如何因机构而异的?我们能做聚类吗?这些问题我不知道答案。您可能想使用对应分析,但这超出了我的专业知识范围。另外,在结尾使用t
是不必要的,并且可能会无缘无故地花费大量的时间。qdap可以很容易地完成您想要做的事情,但当您甚至还没有阅读该函数的文档时,很难花时间来帮助您。如果你看一下wfm,你会发现有一个简单的方法来处理stopwords。如果你愿意学习,请在pdf中搜索stem(或查看函数列表),我愿意提供帮助,但我不愿意为人们编写代码。
with(dat, dtm(summary, year))
## > with(dat, dtm(summary, year))
## A document-term matrix (11 documents, 41 terms)
##
## Non-/sparse entries: 51/400
## Sparsity : 89%
## Maximal term length: 8
## Weighting : term frequency (tf)