2

我想做这个 R 脚本的等价物:

> csvData <- read.csv(file='/homes/ndeklein/test.csv', head=TRUE, sep='\t')
> csv = subset(csvData, !duplicated(id))

在rpy2中。但是,如果我将 rpy2.robjects 导入为 R,它不会识别 Rr['!duplicated'] (像这样):

import rpy2.robjects as R
csvData = R.r['read.csv'](file='/homes/ndeklein/test.csv', head=True, sep='\t')
csv = R.r['subset'](csvData, R.r['!duplicated']('id'))

如何使用!在 rpy2 中复制?


编辑:

R.r['duplicated']

确实有效,所以我正在寻找如何制作!在 rpy2 中工作

4

1 回答 1

2

我通过邮件列表得到了答案,以防其他人需要它:

使用 Rr'!' 而不是 Rr'!duplicated' 作品。

# getting the not sign of R
rnot = R.r['!']
# getting duplicated
duplicated = R.r['duplicated']
# get only the rows with unique ids and put it in a new matrix
csvUniqID = R.r['subset'](csvData,  rnot(duplicated(csvData[0])))
于 2012-02-23T13:23:04.367 回答