在colomn中查找与名称关联的行并写入文件

时间:2018-03-02 17:01:20

标签: r

我问你这个问题,我相信它很容易解决。我有这个对象:

data<-as.data.frame(data)    
colnames(data)<-c("A", "B", "C")
data

A   B   C
AA  5   6
AB  8   6
DC  5   4    
AD  3   9    
FE  2   8    
AF  4   4    
AG  2   0

而且我有一个名单:

common

AG    
FE    
AD

我想获得一个文件,在其中我找到与这些名称相关联的行:

newdata
A   B   C    
AG  2   0    
FE  2   8    
AD  3   9

我尝试使用dplyr R包,使用此脚本,但它不起作用。

library(dplyr)    
results <- data.frame()    
for (r in 1:nrow(common)) {    
    dat.query3[r] <- filter(data, C == common[r,] )    
    write(dat.query3[r],file="myfile",append=TRUE)    
    df <- data.frame(list(dat.query3[r]))
    newdata <- rbind(results, df)
}

2 个答案:

答案 0 :(得分:3)

您不必使用dplyr,只需将公共向量中的名称与数据的第一列匹配,如下所示:

newdata <- data[data[,1]%in%common,]

答案 1 :(得分:0)

另一种简单的方法可能是:

newdata <- data[data$A %in% common,]

newdata
#   A B C
#4 AD 3 9
#5 FE 2 8
#7 AG 2 0