2015-08-11 13 views
5

Ho creato una nuova classe e desidero abilitare il completamento automatico di R.R: Abilita completamento automatico nella classe personalizzata

Un esempio potrebbe essere:

# Define class 
setClass("customList", 
    representation("list") 
) 

# Make example 
tmp <- new("customList", 
      list(
       test='a', 
       b=1:3 
      )   
) 

che si traducono in:

lista
tmp 
# An object of class "customList" 
# [[1]] 
# [1] 'a' 
# 
# [[2]] 
# [1] 1 2 3 

Questa usanza ha i nomi e argomenti con nome può essere utilizzato

names(tmp) 
[1] "a" "b" 
tmp$test 
[1] 'a' 

ora vorrei piace in qualche modo abilitare il completamento automatico, quindi posso semplicemente digitare

tmp$t <TAB> 

e ottenere

tmp$test 

Come si fa a farlo?

In anticipo - grazie!

+0

Grazie per aver fatto quella domanda. Nella riga di comando R ha completamento automatico. Ma sarebbe preferibile se la soluzione funzionasse anche con RStudio. –

risposta

0

Basta installare l'ultima versione v0.99.660 Rstudio e il completamento automatico come descritto nella domanda dovrebbe funzionare senza problemi.

UPDATE:

Ecco ad esempio per la classe Granges:

library(GenomicRanges) 

gr1 <- GRanges(seqnames=Rle(c("ch1", "chMT"), c(2, 4)),ranges=IRanges(16:21, 20),strand=rep(c("+", "-", "*"), 2)) 

Quindi è possibile digitare:

[email protected] 

E Rstudio mostrerà il completamento automatico pop-up, come illustrato nella foto successiva:

enter image description here

È possibile continuare a utilizzare @ per approfondire la struttura della classe e selezionare elementi specifici.

+0

Questo ha risolto il problema per la classe personalizzata che ho inserito come esempio - ma non generalizza ad esempio GRanges (dove si può accedere alle meta colonne in una riga di comando R). –

+0

cos'è ** GRANGES **? – grubjesic

+0

Mi spiace: il nome completo è GenomicRanges ed è uno dei principali tipi di oggetto Bioconductor. http://bioconductor.org/packages/release/bioc/html/GenomicRanges.html –

Problemi correlati