Re: [問題] 每行依比例隨機抽樣
# 決定誰要變成0的矩陣
ind <- replicate(100, sample(c(rep(T, 6), rep(F, 4))))
# 按ind改M
M <- matrix(1:1000, 10, 100)
M[ind] <- 0
M
# check
apply(ind, 2, sum)
apply(M, 2, function(x) {
length(which(x == 0))
})
M
※ 引述《pp61022 (fight)》之銘言:
: [問題類型]:
: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R寫出來)
: [軟體熟悉度]:
: 使用者(已經有用R 做過不少作品)
: [問題敘述]:
: 請簡略描述你所要做的事情,或是這個程式的目的
: 我有一個矩陣 10*100 (n=10, p=100)
: 我想要把這100行,每行都依比例隨機選出幾個值,改成指定值
: 例如:
: 原始資料範例
: V1 V2 V3 .... V100
: 1 10 5 4 .... 42
: 2 7 15 18 .... 58
: 3 12 10 77 .... 41
: 4 9 18 65 .... 74
: 5 47 57 10 .... 81
: 6 1 46 18 .... 72
: 7 37 9 49 .... 30
: 8 17 8 75 .... 37
: 9 36 14 10 .... 6
: 10 71 36 87 .... 48
: 每行各隨機選取6個值改成我的指定值
: 轉換後資料範例
: V1 V2 V3 .... V100
: 1 10 5 0 .... 0
: 2 7 0 18 .... 0
: 3 0 10 0 .... 41
: 4 9 0 65 .... 0
: 5 0 0 0 .... 81
: 6 1 46 0 .... 0
: 7 0 0 49 .... 30
: 8 0 8 0 .... 37
: 9 0 0 10 .... 0
: 10 0 0 0 .... 0
: 我一開始是整筆資料直接*0.6 隨機填成指定值,但後來回去看資料,
: 因為n太少,很容易整行都變成指定值,但我不想要整行都被改成指定值,
: 才想詢問有沒有版友知道可以怎麼設定每行隨機抽樣的比例,謝謝大家。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.246.78.20
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1526726993.A.B6D.html
推
05/19 19:08,
7年前
, 1F
05/19 19:08, 1F
推
05/19 19:09,
7年前
, 2F
05/19 19:09, 2F
→
05/19 19:09,
7年前
, 3F
05/19 19:09, 3F
→
05/19 19:10,
7年前
, 4F
05/19 19:10, 4F
→
05/19 19:10,
7年前
, 5F
05/19 19:10, 5F
→
05/20 00:34,
7年前
, 6F
05/20 00:34, 6F
→
05/20 00:38,
7年前
, 7F
05/20 00:38, 7F
討論串 (同標題文章)
R_Language 近期熱門文章
PTT數位生活區 即時熱門文章