2015-09-20 69 views
2

我是R編程的新手。在R中,如何構造一個向量Y,其分量是從正態分佈派生的?

我想在這裏問專家爲您解答有關R.

的代碼

首先,讓矢量xc(2,5,3,6,5)

我希望再拍矢量y,其第i個分量源自N(sum(x[1]:x[i]),1)

(即y的第i個分量如下正常distribuion與方差1和平均求和從x[1](=2)x[i] (i=1,2,3,4,5)

例如,y的第三組分遵循具有均值x[1]+x[2]+x[3]=2+5+3=10,方差爲1

我想知道[R製造上文描述的「不使用重複的語法,例如用於向量y的一個代碼,而等正常distribuion 「。

因爲我是R編程的新手,並且先天計算統計的感覺很差,所以我似乎並沒有碰到R的巧妙代碼。

請讓我知道R的代碼製作矢量上面解釋不使用重複的語法如,while等

以前,我想非常感謝你由衷地爲你銘記的答案。

+4

Google是你的朋友。我想你想要'rnorm(長度(x),平均= cumsum(x),sd = 1)' – Frank

回答

3

你可以做

rnorm(length(x), mean = cumsum(x), sd = 1) 

rnorm是家庭與正態分佈*norm相關功能的一部分。要看到一個響亮的名字作品的功能如何,使用

help("rnorm") # or ?rnorm 

cumsum需要載體的累計總和。

搜尋功能

在R,它通常是大多數功能,你能想到的已經有人已經實現了一個安全的賭注。因此,例如,在OP的情況下,沒有必要推出自定義循環。

*norm相同的命名約定遵循其他發行版,例如rbinom。您可以點擊?rnorm底部的鏈接以訪問?Distributions,其中列出了R中的其他人。

如果你是從頭開始,不知道任何有關函數的名稱,請考慮使用內置的搜索工具,如:

help.search("normal distribution") # or ??"normal distribution" 

如果這揭示了什麼,但你仍然認爲函數必須存在,可以考慮安裝和加載sos包,它允許

findFn("{cumulative mean}")   # or ???"{cumulative mean}" 
findFn("{the pareto distribution}") # or ???"{the pareto distribution}" 

除此之外,還有其他在線資源,像谷歌,一點都不錯。然而,關於Stack Overflow功能的問題是一個有風險的提議,因爲如果所需功能的實現不存在或者這裏的人們不知道,它將不會很好地收到(downvoted和作爲「工具請求」關閉)。堆棧溢出的新「文檔」子網站將有望成爲查找R函數的資源。

相關問題