作者austinly (austinly)
看板Statistics
标题[程式] [R] 一个小问题
时间Fri Oct 2 00:27:19 2009
------------------------------------------------------------------------
[程式问题]: 一个资料处理的问题
[软体熟悉度]:
低(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
1F:→ idiotbie:x <- rep(1, 9) 10/02 09:51
2F:→ idiotbie:x[c(2, 8, sample(c(1:10)[-c(2, 8)], 1))] <- 0 10/02 09:51
3F:→ idiotbie:上面的方法是在去抽出除了2跟8外另一个0放置的位置, 10/02 09:52
4F:→ idiotbie:目前只想到这个,但可能很聪明的方法^^" 10/02 09:54
5F:→ idiotbie: 不是 10/02 09:55
6F:→ austinly:感谢!!解决了 10/04 15:01
7F:推 hakukinomoto:id <- (1:10)[c(-2,-8)] 10/10 12:46
8F:→ hakukinomoto:idvalue <- sample(c(rep(1,7),0), size=8, replace= 10/10 12:46
9F:→ hakukinomoto:FALSE) 10/10 12:47
10F:→ hakukinomoto:x <- rep(0, 10) 10/10 12:47
11F:→ hakukinomoto:for(i in 1:8){ 10/10 12:48
12F:→ hakukinomoto: x[id[i]] <- idvalue[i] 10/10 12:48
13F:→ hakukinomoto:} 10/10 12:48
14F:→ hakukinomoto:x 10/10 12:48