第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何制作一個(gè)很好的R可重復(fù)的例子

如何制作一個(gè)很好的R可重復(fù)的例子

白衣染霜花 2019-05-20 13:30:58
在與同事討論性能,教學(xué),發(fā)送錯(cuò)誤報(bào)告或在郵件列表上搜索指導(dǎo)時(shí),以及在Stack Overflow上,通常會(huì)詢問可重復(fù)的示例并始終提供幫助。您有什么建議創(chuàng)建優(yōu)秀示例的提示?如何以文本格式粘貼r中的數(shù)據(jù)結(jié)構(gòu)?您還應(yīng)該包含哪些其他信息?在另外還有其他招數(shù)來使用dput(),dump()或structure()?你什么時(shí)候應(yīng)該包括library()或require()聲明?其中保留字應(yīng)避免一個(gè),此外c,df,data等?怎樣才能成為一位偉大的[R重復(fù)的例子?
查看完整描述

8 回答

?
慕神8447489

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超1個(gè)贊

如何編寫可重現(xiàn)的示例。

如果您提供可重現(xiàn)的示例,您最有可能獲得R問題的良好幫助。一個(gè)可重現(xiàn)的示例允許其他人通過復(fù)制和粘貼R代碼來重新創(chuàng)建您的問題。

為了使您的示例可重現(xiàn),您需要包含四件事:所需的包,數(shù)據(jù),代碼和R環(huán)境的描述。

  • 應(yīng)該在腳本的頂部加載,因此很容易看到示例需要哪些包。

  • 在電子郵件或Stack Overflow問題中包含數(shù)據(jù)的最簡單方法是使用dput()生成R代碼來重新創(chuàng)建它。例如,要mtcars在R中重新創(chuàng)建數(shù)據(jù)集,我將執(zhí)行以下步驟:

    1. dput(mtcars)在R中運(yùn)行

    2. 復(fù)制輸出

    3. 在我可重現(xiàn)的腳本中,鍵入mtcars <-然后粘貼。

  • 花一點(diǎn)時(shí)間確保您的代碼易于其他人閱讀:

    • 確保你已經(jīng)使用了空格,你的變量名稱簡潔,但信息豐富

    • 使用注釋來指出問題所在

    • 盡力刪除與問題無關(guān)的所有內(nèi)容。
      代碼越短,理解起來就越容易。

  • sessionInfo()在代碼中包含注釋的輸出。這總結(jié)了您的R環(huán)境,并且可以輕松檢查您是否使用了過時(shí)的軟件包。

你可以通過啟動(dòng)一個(gè)新的R會(huì)話并粘貼你的腳本來檢查你是否真的做了一個(gè)可重現(xiàn)的例子。

在將所有代碼放入電子郵件之前,請考慮將其放在Gist github上。它將為您的代碼提供良好的語法突出顯示,您不必?fù)?dān)心電子郵件系統(tǒng)會(huì)破壞任何內(nèi)容。


查看完整回答
反對 回復(fù) 2019-05-20
?
小怪獸愛吃肉

TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超1個(gè)贊

就個(gè)人而言,我更喜歡“一個(gè)”襯里。一些事情:


my.df <- data.frame(col1 = sample(c(1,2), 10, replace = TRUE),

        col2 = as.factor(sample(10)), col3 = letters[1:10],

        col4 = sample(c(TRUE, FALSE), 10, replace = TRUE))

my.list <- list(list1 = my.df, list2 = my.df[3], list3 = letters)

數(shù)據(jù)結(jié)構(gòu)應(yīng)該模仿作者的問題而不是確切的逐字結(jié)構(gòu)。當(dāng)變量不覆蓋我自己的變量或上帝禁止,函數(shù)(如df)時(shí),我真的很感激。


或者,可以剪切幾個(gè)角并指向預(yù)先存在的數(shù)據(jù)集,例如:


library(vegan)

data(varespec)

ord <- metaMDS(varespec)

不要忘記提及您可能正在使用的任何特殊包裝。


如果你想在更大的物體上展示一些東西,你可以試試


my.df2 <- data.frame(a = sample(10e6), b = sample(letters, 10e6, replace = TRUE))

如果您通過raster包處理空間數(shù)據(jù),則可以生成一些隨機(jī)數(shù)據(jù)。在包裝插圖中可以找到很多例子,但這里有一個(gè)小金塊。


library(raster)

r1 <- r2 <- r3 <- raster(nrow=10, ncol=10)

values(r1) <- runif(ncell(r1))

values(r2) <- runif(ncell(r2))

values(r3) <- runif(ncell(r3))

s <- stack(r1, r2, r3)

如果您需要實(shí)現(xiàn)的某些空間對象sp,則可以通過“空間”包中的外部文件(如ESRI shapefile)獲取一些數(shù)據(jù)集(請參閱任務(wù)視圖中的空間視圖)。


library(rgdal)

ogrDrivers()

dsn <- system.file("vectors", package = "rgdal")[1]

ogrListLayers(dsn)

ogrInfo(dsn=dsn, layer="cities")

cities <- readOGR(dsn=dsn, layer="cities")


查看完整回答
反對 回復(fù) 2019-05-20
?
ibeautiful

TA貢獻(xiàn)1993條經(jīng)驗(yàn) 獲得超6個(gè)贊

R-help郵件列表有一個(gè)發(fā)布指南,其中包括詢問和回答問題,包括生成數(shù)據(jù)的示例:

示例:有時(shí)提供一個(gè)人可以實(shí)際運(yùn)行的小例子很有幫助。例如:

如果我有一個(gè)矩陣x如下:

 > x <- matrix(1:8, nrow=4, ncol=2,
                dimnames=list(c("A","B","C","D"), c("x","y"))
  > x
    x y
  A 1 5
  B 2 6
  C 3 7
  D 4 8
  >

如何將其轉(zhuǎn)換為包含8行的數(shù)據(jù)框,以及名為“row”,“col”和“value”的三列,其維度名稱為“row”和“col”的值,如下所示:

  > x.df
     row col value  1    A   x      1

...... 
(答案可能是:

  > x.df <- reshape(data.frame(row=rownames(x), x), direction="long",
                    varying=list(colnames(x)), times=colnames(x),
                    v.names="value", timevar="col", idvar="row")

小字這個(gè)詞特別重要。您應(yīng)該瞄準(zhǔn)一個(gè)可重復(fù)性最小的示例,這意味著數(shù)據(jù)和代碼應(yīng)盡可能簡單地解釋問題。


查看完整回答
反對 回復(fù) 2019-05-20
?
慕絲7291255

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊

從R.2.14(我猜)你可以直接將數(shù)據(jù)文本表示提供給read.table:


df <- read.table(header=T, text="Sepal.Length Sepal.Width Petal.Length Petal.Width Species

1          5.1         3.5          1.4         0.2  setosa

2          4.9         3.0          1.4         0.2  setosa

3          4.7         3.2          1.3         0.2  setosa

4          4.6         3.1          1.5         0.2  setosa

5          5.0         3.6          1.4         0.2  setosa

6          5.4         3.9          1.7         0.4  setosa

") 


查看完整回答
反對 回復(fù) 2019-05-20
  • 8 回答
  • 0 關(guān)注
  • 935 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號