Domanda

Voglio fare l'equivalente di questo script r:

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

in rpy2. Tuttavia, se importo RPY2.Robjects come r, non riconosce rr ['! Duplicato'] (come questo):

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'))

Come posso usare! Duplicato in rpy2?


modificare:

R.r['duplicated']

Funziona, quindi sto cercando come fare! lavorare in rpy2

È stato utile?

Soluzione

Ho ricevuto la risposta a una mailing list, nel caso in cui qualcun altro ne abbia bisogno:

Usando R.R '!' Invece di r.r '! Duplicated "opere.

# 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])))
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top