想做乙個二維變數數學期望實驗, 檢視若干資料終於找到方法
先看這篇文章熟悉一下r的函式
通過下面的函式構造了,正態分佈和泊松分布的兩列資料
a <- data.frame(a=round(rnorm(10,20,9)), b=rpois(10, lambda=10))
> a <- data.frame(a=round(rnorm(10,20,9)), b=rpois(10, lambda=10))
> a
a b
1 22 14
2 21 7
3 20 11
4 20 10
5 12 13
6 17 15
7 15 9
8 3 8
9 14 12
10 3 9
如何理解這個資料:
可以這樣來, 就是說我拿了乙個零件它的長是a,寬是b, 我在a, b 填入這些資料, 我總共檢視了10個零件, 就得到上面這些資料
這樣這批零件矩形的長服從正態分佈 均值是20, 方差是9, 而寬服從泊松分布 lambda是 10 (我們對正態分佈強行取整,編譯實驗)
用 mytable <-table(a[[1]],a[[2]]) 直接得到
> mytable <-table(a[[1]],a[[2]])
> mytable
7 8 9 10 11 12 13 14 15
3 0 1 1 0 0 0 0 0 0
12 0 0 0 0 0 0 1 0 0
14 0 0 0 0 0 1 0 0 0
15 0 0 1 0 0 0 0 0 0
17 0 0 0 0 0 0 0 0 1
20 0 0 0 1 1 0 0 0 0
21 1 0 0 0 0 0 0 0 0
22 0 0 0 0 0 0 0 1 0
如何理解:
二維隨機變數 x,y 可能值構成矩陣中所有的點, 值表示樣本的出現次數
v = margin.table(mytable,1) / margin.table(mytable)
> v = margin.table(mytable,1) / margin.table(mytable)
> v
3 12 14 15 17 20 21 22
0.2 0.1 0.1 0.1 0.1 0.2 0.1 0.1
按照定義求, 先分離兩個向量
as.vector(v) 是: 0.2 0.1 0.1 0.1 0.1 0.2 0.1 0.1
as.integer(names(v)) 是:3 12 14 15 17 20 21 22
求向量內積
> as.vector(v) %*% as.integer(names(v))
[,1]
[1,] 14.7
貌似差別很大, 可能方差設定太大, 並且我很還對正態分佈強行取整
如果我把樣本個數調節到1000, 就與生成資料時設定的 20 很接近了
> a <- data.frame(a=round(rnorm(1000,20,9)), b=rpois(1000, lambda=10))
> mytable <-table(a[[1]],a[[2]])
> v = margin.table(mytable,1) / margin.table(mytable)
> as.vector(v) %*% as.integer(names(v))
[,1]
[1,] 19.88
R語言 求二維隨機變數數學期望
想做乙個二維變數數學期望實驗,檢視若干資料終於找到方法 先看這篇文章熟悉一下r的函式 通過下面的函式構造了,正態分佈和泊松分布的兩列資料 a data.frame a round rnorm 10,20,9 b rpois 10,lambda 10 a data.frame a round rnor...
求二維陣列中的鞍點(c語言)
找出二維陣列中的鞍點,即該位置上的元素在該行上最大,在該列中最小,也可能沒有鞍點。解析 找出在一行中的最大值,確定最大值所在的列,再求出在該列中的最小值所在的行數,比較行是否相等,判斷是否為鞍點。include include intmain int max p,min l,maxj,mini in...
求二維陣列的行列大小 C語言
我們可以利用位元組來求行列大小。假如我們規定二維陣列是 int a 3 4 那麼這個陣列的位元組大小是12 sizeof int 每一行的位元組又是多少?每一列的位元組又是多少?我們可以這樣求 每一行有4個元素,也就是長度為4,利用 int length sizeof a 0 sizeof a 0 ...