48 Yardım alma
Bu sayfa, bir Github sorunu göndererek veya çevrimiçi bir foruma tekrarlanabilir bir örnek (“reprex”) göndererek nasıl yardım alınacağını anlatmaktadır.
48.1 Github sorunları
Birçok R paketi ve projesinin kodu Github.com web sitesinde barındırılmaktadır. Bir “Sorun” göndererek bu web sitesi aracılığıyla yazarlarla doğrudan iletişim kurabilirsiniz.
Çalışmanızı Github’da nasıl saklayacağınızla ilgili daha fazla bilgiyi [İşbirliği ve Github] sayfasından okuyabilirsiniz.
Github’da her proje bir depo içinde bulunur. Her depoda kod, veri, çıktılar, yardım belgeleri vb. bulunur. Ayrıca “Sorunlar” adı verilen yazarlarla iletişim kurmak için bir araç da vardır.
incidence2 paketi (salgın eğrileri oluşturmak için kullanılır) için Github sayfasının altına bakın. Sarı renkle vurgulanmış “Sorunlar” sekmesini görebilirsiniz. 5 tane açık konu olduğunu görebilirsiniz.
Sorunlar sekmesinde, açık sorunları görebilirsiniz. Sorununuzun henüz ele alınmadığından emin olmak için bunları gözden geçirin. Sağdaki yeşil butona tıklayarak yeni bir konu açabilirsiniz. Bunu yapmak için bir Github hesabına ihtiyacınız olacak.
Sorununuzla ilgili olarak, minimal, tekrarlanabilir bir örnek sağlamak için aşağıdaki talimatları izleyin. Ve lütfen nazik olun! R paketleri ve projeleri geliştiren çoğu kişi boş zamanlarında bunu yapıyor (bu el kitabı gibi!).
Kendi Github deponuzdaki sorunları ele almayla ilgili daha gelişmiş materyalleri okumak için Github Sorunlarla ilgili belgelere bakabilirsiniz.
48.2 Tekrarlanabilir örnek
Tekrarlanabilir bir örnek (“reprex”) sağlamak, bir forumda veya Github sayısında gönderi yayınlarken yardım almanın anahtarıdır. İnsanlar sana yardım etmek istiyor ama onlara kendi bilgisayarlarında çalışabilecekleri bir örnek vermelisin. Bu örnekte:
- Karşılaştığınız sorunu gösterin
- Minimal olun, yalnızca sorununuzu yeniden oluşturmak için gereken verileri ve kodu gönderin
- Tüm nesneler (ör. veri), paket çağrıları (ör. ‘library()’ veya ‘p_load()’) dahil edilecek şekilde tekrarlanabilir olsun
Ayrıca, reprex ile herhangi bir hassas veri göndermediğinizden emin olun! Örnek veri çerçeveleri oluşturabilir veya R’da yerleşik veri çerçevelerinden birini kullanabilirsiniz (bu veri kümelerinin bir listesini açmak için data()
komutunu girin).
reprex paketi
reprex paketi, tekrarlanabilir bir örnek oluşturmanıza yardımcı olur:
- reprex, tidyverse ile kurulur, bu nedenle her iki paketi de yüklemelisiniz
# tidyverse kurun/yükleyin (reprex içerir)
::p_load(tidyverse) pacman
- Paketleri ve verileri yüklemekten başlayarak adım adım sorununuzu oluşturan bir R betiği başlatın.
# paketleri yükleyin
::p_load(
pacman# veri yönetimi ve görselleştirme
tidyverse, # salgın veri kümelerinin örneği
outbreaks)
# grip salgını vaka satır listesi
<- outbreaks::fluH7N9_china_2013 # salgın paketinden veri kümesini al
outbreak_raw
# veri kümesini temizle
<- outbreak_raw %>%
outbreak mutate(across(contains("date"), as.Date))
# salgın grafiğini çiz
ggplot(data = outbreak)+
geom_histogram(
mapping = aes(x = date_of_onset),
binwidth = 7
+
)scale_x_date(
date_format = "%d %m"
)
Tüm kodu panonuza kopyalayın ve aşağıdaki komutu çalıştırın:
::reprex() reprex
RStudio Görüntüleyici bölmesinde bir HTML çıktısının göründüğünü göreceksiniz. Tüm kodunuzu ve tüm uyarıları, hataları veya çizim çıktılarını içerecektir. Bu çıktı aynı zamanda panonuza da kopyalanır, böylece doğrudan bir Github sorununa veya bir forum gönderisine gönderebilirsiniz.
- ‘session_info = TRUE’ olarak ayarlarsanız, R paket sürümlerinize ‘sessioninfo::session_info()’ çıktısı dahil edilecektir.
wd =
için bir çalışma dizini sağlayabilirsiniz.- Değişkenler ve olası varyasyonlar hakkında daha fazla bilgiyi documentation adresinden veya
?reprex
girerek okuyabilirsiniz.
Yukarıdaki örnekte, ‘ggplot()’ komutu, ‘date_format =’ değişkeni doğru olmadığı için çalışmadı - ‘date_labels =’ olmalı idi.
Minimum veri
Yardımcıların verilerinizi kullanabilmesi gerekir - ideal olarak verileri kodla oluşturabilmeleri gerekir.
Minimum bir veri kümesi oluşturmak için, anonimleştirmeyi ve gözlemlerin yalnızca bir alt kümesini kullanmayı düşünün.
YAPIM AŞAMASINDA… - minimal veri kümesi oluşturmak için ‘dput()’ fonksiyonunu da kullanabilirsiniz.
48.3 Bir foruma gönderme
Bol bol forum yazıları okuyun. Hangi gönderilerin iyi yazıldığını ve hangilerinin yazılmadığını anlayın.
İlk olarak, soruyu sorup sormamaya karar verin. Sorunuzun daha önce sorulup sorulmadığını görmek için çeşitli arama terimlerini deneyerek forum web sitesini iyice incelediniz mi?
Sorunuza bilgilendirici bir başlık verin (“Yardım! Bu çalışmıyor” değil).
Sorunuzu yazın:
- Durumunuzu ve probleminizi tanıtın
- Benzer sorunların gönderilerine bağlantı verin ve sorunuzu nasıl yanıtlamadıklarını açıklayın
- Çalışmanızın bağlamını bilmeyen birine yardımcı olmak için ilgili bilgileri ekleyin
- R oturum bilgilerinizle minimum tekrarlanabilir bir örnek verin
- Doğru yazım, dil bilgisi, noktalama işaretleri kullanın ve sorunuzu daha kolay okunabilmesi için paragraflara ayırın
Herhangi bir açıklama talebine yanıt vermek için sorunuzu yayınladıktan sonra izleyin. Nazik ve kibar olun - yanıtlayan kişiler genellikle size yardım etmek için zamanlarını gönüllü olarak harcarlar. Takip eden bir sorunuz varsa, bunun ayrı bir soru olması gerekip gerekmediğini düşünün.
eğer isteği karşılayan bir yanıt alırsanız, soruyu yanıtlandı olarak işaretlemeyi unutmayın. Bu durum, başkalarının çözümü daha sonra hızlı bulmasına yardımcı olur.
İyi bir soru nasıl sorulur hakkında Stackoverflow davranış kuralları hakkındaki bu yayınları okuyun.
48.4 Kaynaklar
Nasıl [yardım alacağınız] hakkında Tidyverse sayfası!(https://www.tidyverse.org/help/#:~:text=When%20you%20want%20to%20make,to%20load%20the%20reprex%20package.&text=Enter%20reprex()%20in%20the,preview%20of%20your%20rendered%20reprex.)
Minimum bir veri kümesi üretmeye ilişkin ipuçları
dput fonksiyonu için belgeler