2016-01-26 37 views
6

Aynı işleve sahip kütüphaneler R görünmek çok can sıkıcıdır. Aşağıdaki gibi sorunları çözmenin en kolay yolu nedir?Aynı işlev ismi olan

Attaching package: ‘dplyr’ 

The following objects are masked from ‘package:stats’: 
filter, lag 
The following objects are masked from ‘package:base’: 
intersect, setdiff, setequal, union 

library(stats) ekleme veya benim için iş vermedi aşağıda gösterildiği gibi stats::filter ve diğer fonksiyonlar gibi filtre işlevi çağırarak.

library(ggplot2) 
library(dplyr) 
library(stats) 
stats::filter 
stats::lag 
base::union 
base::setdiff 
base::setequal 
base::intersect 

# Reading in the data 
data <- read.csv("data.csv", header = FALSE) 

# Plots 
dataSummary <- data %>% group_by(id) %>% summarise(data_count = x()) 
dataSummary 
plotTest <- ggplot(dataSummary, aes(id, data_count)) + geom_bar(stat = 'identity') + ggtitle("Test Title") 
plot(plotTest) 

Ancak bu, çizim işlevini çalıştırmadan önce önceki uyarı iletisini vermeye devam eder. Herhangi bir işaretçi? ya da bu uyarıları bastırmak ve çizim yapmak için zaten var mı? Büyük olumsuz sadece sorunu gizler olmasıdır Ancak

cevap

13
  1. sadece yürütmeyi durmaz, uyarılar, göstermek

    library(dplyr, warn.conflicts = FALSE) 
    

    aracılığıyla paket yüklemek istemiyorsanız . Maskelenmiş işlevlerden birini kullanmanız gerekiyorsa, stats::lag (@alistaire) gibi çağırabilirsiniz.

  2. Temel işlevleri maskeleyen paketleri kullanmayın. Genel fikir, example("filter") (demek) çalıştırıyorsa, bir paket yüklendikten sonra farklı bir yanıt verirse anti-social. Bazı paketler temel işlevleri "iyileştirir", bu nedenle maskeleme bir sorun değildir.

  3. Paketlerin yükleme sırası önemlidir. İlk yüklenen paket, maskelenmiş bir işlevi kullanıyorsanız, arama yolunda ilk olarak 'dur. Bazı içgörüler için bkz. this answer.


Bu cevap (sonunda) silindi olacak birçok yorum özetlemek çalıştı.

İlgili konular