[程式] [R] 一個小問題

看板Statistics作者 (austinly)時間16年前 (2009/10/02 00:27), 編輯推噓1(1014)
留言15則, 4人參與, 7年前最新討論串1/1
------------------------------------------------------------------------ [程式問題]: 一個資料處理的問題 [軟體熟悉度]: 低(1~3個月) [問題敘述]: 資料型態: binary data, 0 or 1 假設資料長度為10,有3個0,7個1。 如: a = c(1,0,1,1,0,1,1,1,1,0) 若現在知道第2跟第8個位置為0,剩下7個1,1個0 為取後不放回隨機產生 ex. X = c(1,1,0,1,1,1,1,1) 接著想把第2跟第8個位置插入0 產生 X = c(1,0,1,0,1,1,1,1,0,1) 我有試過利用 append指令,但這指令似乎只限定在某個之後插入, 若是很多分散且固定的位置則不是很有效率。 不知有沒有其他指令或是方法可以解決這個問題,謝謝。 ----------------------------------------------------------------------------- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.136.216.227

10/02 09:51, , 1F
x <- rep(1, 9)
10/02 09:51, 1F

10/02 09:51, , 2F
x[c(2, 8, sample(c(1:10)[-c(2, 8)], 1))] <- 0
10/02 09:51, 2F

10/02 09:52, , 3F
上面的方法是在去抽出除了2跟8外另一個0放置的位置,
10/02 09:52, 3F

10/02 09:54, , 4F
目前只想到這個,但可能很聰明的方法^^"
10/02 09:54, 4F

10/02 09:55, , 5F
不是
10/02 09:55, 5F

10/04 15:01, , 6F
感謝!!解決了
10/04 15:01, 6F

10/10 12:46, , 7F
id <- (1:10)[c(-2,-8)]
10/10 12:46, 7F

10/10 12:46, , 8F
idvalue <- sample(c(rep(1,7),0), size=8, replace=
10/10 12:46, 8F

10/10 12:47, , 9F
FALSE)
10/10 12:47, 9F

10/10 12:47, , 10F
x <- rep(0, 10)
10/10 12:47, 10F

10/10 12:48, , 11F
for(i in 1:8){
10/10 12:48, 11F

10/10 12:48, , 12F
x[id[i]] <- idvalue[i]
10/10 12:48, 12F

10/10 12:48, , 13F
}
10/10 12:48, 13F

10/10 12:48, , 14F
x
10/10 12:48, 14F

01/02 14:58, 7年前 , 15F
01/02 14:58, 15F
文章代碼(AID): #1AnDXeCu (Statistics)