我想知道爲什麼我的length()
命令在下面的R代碼總是給1?我想知道的p
S中的小於或等於.05
出n
p
S上的號碼是多少?可以識別一個條件嗎?
n = 1e3
p = runif(n, 0, 1)
length(p <= .05)/n # why just gives 1, while it should be less than 1.
我想知道爲什麼我的length()
命令在下面的R代碼總是給1?我想知道的p
S中的小於或等於.05
出n
p
S上的號碼是多少?可以識別一個條件嗎?
n = 1e3
p = runif(n, 0, 1)
length(p <= .05)/n # why just gives 1, while it should be less than 1.
你需要這樣的:
n = 1e3
p = runif(n, 0, 1)
length(which(p <= .05))/n
只需使用length
會給你獲得布爾矢量其中還包括FALSE
案件過的長度。該which
功能會過濾掉僅TRUE
案件,然後你可以測量的只有TRUE
箱子的length
。
感謝,似乎'均值(P <= 0.05)'做同樣的事情。 – rnorouzian
@rnorouzian是的,有很多方法可以在R中做很多事情。 – TUSHAr
在R,運營商(例如,<,>,=)返回指示哪個元素(多個)滿足特定條件的邏輯矢量。 p <= .05
輸出矢量或TRUE
和FALSE
對於每個元件,這取決於它是否是< =到0.05(TRUE
)否(FALSE
)。如果要計算矢量中的TRUE
元素的數量,可以這樣做:方法1:在R中,TRUE
的值爲1,並且FALSE
的值爲0.因此,要計算元素的數量TRUE
在一個邏輯向量中,你可以把它的總和(例如,sum(p <= .05
)。 方法2:你可以把你的載體p
的實際子集,以查看其是< = 0.05的元素。一種方法是使用p[p <= .05]
,其中p
後的方括號表示「來自p,取所有小於或等於0.05的p」。如果你想要的是p
中有多少個元素是< = .05,你可以取這個向量的長度(length(p[p <= .05]
)。
您的意思是「平均值(p <= .05)」, – akrun
@akrun,是否意味着(p <= .05)給出小於或等於.05的p的數量'n'的? – rnorouzian
是的,是的意思是(p <= .05)'完全是這樣。你也可以使用'sum(p <= .05)/ n'。方法效率較低,但更接近你的企圖,將'長度(其中(P <= 0.05))/ N' –