0

我是 R 的新手,我搜索了类似的问题,但找不到答案。抱歉,如果交叉发布,请参考正确的链接。

我有一个 2 个 csv 文件。1-Bm,86 行 2 列。

BM <- read.csv('Z:/R_CGV/alB.csv', header = FALSE)

第二 - BG 有 80 行和 14 列。

BG <- read.csv('Z:/R_CGV/BG111.csv', header = FALSE) 

我需要通过 BM 文件和哪里(BM 的第 1 列内容等于 BG 文件中的第 12 列)BM[,1]=BG[i,1] 想要提取第 2 列内容。

library(sqldf)
 BM <- read.csv('Z:/R_CGV/alB.csv', header = FALSE)    
 BG <- read.csv('Z:/R_CGV/BG111.csv', header = FALSE) 

len_BM <- length(BM)
 csNu <- BG[,12]
for (i in len_BM)


BnNam <- BM[i:len_BM,1]
{

    RetC_BN <- read.csv.sql("alB.csv", sql="select * from BM where csNu=BnNam")

}    

它通过我的错误:

Error in sqliteExecStatement(con, statement, bind.data) : 
  RS-DBI driver: (error in statement: no such column: csNu)

我检查了关键字并尝试更改名称,但没有任何帮助。我在这里想念什么?

BM (../alB.csv) 文件示例:

10  3    
23  4    
37  3    
# more lines
86  5   

BG (.../BG111.csv') 文件示例:

10  41.16   1   0.36   47   0.94    49  26.83   26.83   1 0.3249 0.63   49  26.83
100 40.62    0  0.11    55  0.95    107 33.62   42.25   0   0.117   109 0.64    107 33.62
# more lines
101 29.75   0   0.082   111 0.91    107 12.62   29.75   0   0.08    111 0.88    107 12.62

非常感谢,米尔

4

1 回答 1

1

我想你想要的是

BM[,2][BM[,1]==BG[,12]]
于 2013-07-03T15:35:21.483 回答