r - 在 R : How to compare a csv file and a list to keep common terms, 中并分别列出它们

标签 r list csv intercept

我有一个包含几列数据的 csv 文件,我只想直接使用其中一列。我已将 csv 文件读入 R,如下所示:

list1<-readLines("myfile.csv")

我应该像这样读它吗?:

list1<-read.csv(file="myfile.csv",sep=",",head=TRUE)

假设这个 csv 文件第 5 列列出了(“一”、“三”、“四”)

我在 R 中有一个这样的列表:

list2<-c("one","two","three","three")

我想将 csv 文件的第 5 列与 list2 进行比较,并单独提取和列出常用术语。如果一个常用术语多次列出,我想保留重复项,例如“三”在 list2 中列出两次,所以我也想在新列表中列出两次。

我不仅想列出 csv 文件的第 5 列,还想列出包含第 5 列中的常用术语的整行。

这是我最好的尝试,但它不会确认是否在 csv 文件中多次找到通用术语,也不会列出在 csv 文件中找到通用术语的整行。

list1<-readLines("myfile.csv")

list2<-c("one","two","three","three")

intersect(list1,list2)

结果:一、三

感谢您的帮助!

最佳答案

要找出 list2 的哪些元素位于 list1 的第 5 列中:

list2[list2 %in% list1[,5]]

并获取 list1 的所有行,其中第 5 列中的条目也位于 list2 中:

list1[which(list1[,5] %in% list2),]

短一点:

list1[list1[,5] %in% list2,]

考虑一下这个旁注:最好不要调用这两个对象 list1list2 因为 list1 是一个 data.frame list2 是一个向量,list 是 R 中另一种类型的数据结构(请参阅 ?list)。

关于r - 在 R : How to compare a csv file and a list to keep common terms, 中并分别列出它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24371828/

相关文章:

css - Rvest,html_nodes 返回空列表和字符串,使用网站

r - plotly -R : specifying size of marker in add_trace() reduces opacity of markers

list - 为什么 [1..n] 的处理方式与 Haskell 中的 [n..1] 不同?

r - 将 csv 文件导入 R 换行问题

从 ggplot map 图例中删除科学记数法

r - 从 xml2 和 rvest 子集 data.frame 时出错

R:如何通过单列聚合数据帧列表,一次聚合所有列

python - 一次性计算精度、召回率和 F 分数 - python

python - 读取和写入同一个 csv 文件

Python 检查压缩文件是 xml 还是 csv