Hogyan tegyük fel kérdéseinket ezen az oldalon használható válaszok reményében? Milyen módon tudok képeket, adatokat és egyebeket megosztani a válaszolókkal? Hogyan csatoljak R kódot? Mit írjak le a használt R környezetről? Mi az a “minimal reproducible example”? Miért nem kapok választ?
Eredeti kérdés: SO
- You must login to post comments
Hülye kérdésre hülye válasz.
Ezen az oldalon sincs ez másképp Egy jó kérdés tömör, lényegretörő, a nem releváns részletektől megtisztított, elég konkrét ahhoz, hogy megválaszolható legyen, reprodukálható hátteret vagy problémát tartalmaz és jó esetben köze is van az R-hez.
Minimal reproducible example
Hogy ne rabold a válaszolók Rád fordított szabadidejét:
- A kérdés hátteréhez minimálisan szükséges adatokat egyszerű módon tedd elérhetővé, ne csatolj 5 megás CSV fájlt, hogy a válaszadó bogarássza ki abból a releváns részeket,
-
Célszerű az R objektumot a
dput
függvényen átfuttatni és annak az eredményét megosztani, hogy a válaszolok gyorsan tudják azt “copy-paste”-elni. Példa:> dput(head(iris)) structure(list(Sepal.Length = c(5.1, 4.9, 4.7, 4.6, 5, 5.4), Sepal.Width = c(3.5, 3, 3.2, 3.1, 3.6, 3.9), Petal.Length = c(1.4, 1.4, 1.3, 1.5, 1.4, 1.7), Petal.Width = c(0.2, 0.2, 0.2, 0.2, 0.2, 0.4), Species = structure(c(1L, 1L, 1L, 1L, 1L, 1L), .Label = c("setosa", "versicolor", "virginica"), class = "factor")), .Names = c("Sepal.Length", "Sepal.Width", "Petal.Length", "Petal.Width", "Species"), row.names = c(NA, 6L), class = "data.frame")
-
Olykor még egyszerűbb egy minimális példát összeállítani a
set.seed
és véletlen számok, továbbá pl. aletters
használatával a szöveges részekre, pl.:> set.seed(7) > data.frame(a = runif(5), b = sample(letters, 5)) a b 1 0.98890930 u 2 0.39774545 i 3 0.11569778 x 4 0.06974868 d 5 0.24374939 k
-
Csak a releváns kódrészletet közöld! Ez általában nem haladja meg a pár sort. Ha valami nem működik az egyébként szépen átgondolt és briliáns 600 soros R függvényedben, akkor is szűkítsd le a problémát néhány sorra, és a kérdés kizárólag arra vonatkozzon.
- Egy jó kérdés megfogalmazása bizony időbe telhet, de ha választ szeretnél kapni kérdésedre, úgy tiszteld a válaszadók idejét, és ne rabold fölöslegesen azt a nem releváns részletekkel!
Környezet
Sokszor hasznos, ha technikai probléma esetén egyből megírod a használt R verzióját, hogy milyen operációs rendszert használsz, továbbá a releváns csomagokat is verziószámmal együtt. Egy probléma olykor az egyedi körülményekre vezethető vissza, mint pl. az ékezetes és szóközzel teli path Windowson, vagy OS-specifikus R csomagok telepítése. A környezet leírásának a legegyszerűbb módja a sessionInfo
függvény argumentum nélküli meghívása:
> sessionInfo()
R version 3.1.0 (2014-04-10)
Platform: x86_64-unknown-linux-gnu (64-bit)
locale:
[1] LC_CTYPE=hu_HU.utf8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=hu_HU.utf8
[7] LC_PAPER=hu_HU.utf8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=hu_HU.utf8 LC_IDENTIFICATION=C
attached base packages:
[1] stats utils datasets grDevices graphics methods base
other attached packages:
[1] ascii_2.1 pander_0.3.9 bigmemory_4.4.6
[4] BH_1.54.0-2 bigmemory.sri_0.1.2
loaded via a namespace (and not attached):
[1] digest_0.6.4 tools_3.1.0
A szöveg formázása, helyesírás
Továbbá sokat segít, ha tagolod a kérdés szövegét:
- a fontos részeket kiemeled — a kevéssé fontos részeket pedig ugye le se írod
- az R kódot inline és a nagyobb kódrészleteket is megfelelően formázod a szövegdoboz feletti eszköztár segítségével
- érdemes megismerkedni a markdown jelölőnyelv használatával az egyéb formázási trükkökkel kapcsolatban is
- egy helyesírási hibáktól hemzsegő, központozás nélküli szöveget nehéz olvasni, így különösen ügyelj a szöveg szerkesztésére is.
- You must login to post comments
A StackOverflow kapcsolódó posztja, hasznos linkekkel:
http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example
-
Köszi, Lőrinc! Jelen kérdés és válasz eredeti ihletője valóban a linkelt thread volt -- nem titkoltan, a kérdés utolsó sora pont ide mutat :) Ettől függetlenül szerintem csak jó, ha itt külön is szerepel a link, nagyon jó referencia-anyag.
- You must login to post comments
Please login first to submit.