作者celestialgod (天)
看板R_Language
标题Re: [问题] 随机删除每列资料上的几个栏(cell)
时间Thu Oct 8 16:06:28 2015
nr = 200
nc = 50
maxNumDelete = 10
dat = matrix(sample(1:100, nr*nc, TRUE), nr)
colDelete = replicate(nr, sample(1:nc, sample(1:maxNumDelete, 1)))
sapply(1:nr, function(i){
paste(dat[i, colDelete[[i]]], collapse = ",")
})
※ 引述《sinclairJ (SunnyGymBoy)》之铭言:
: 实际资料为200列*50栏
: 要对每列资料随机删除该列的几个栏
: 例如将第一列(笔)资料的第5,34,41栏删除
: 将第二列(笔)资料的第4,25,36,49,50栏删除
: 将第三列(笔)资料的第28,39栏删除....到第两百列
: 每列(笔)资料删除的栏数目和位置都是随机的,因此每列(笔)都不一样,所以最後20
: 0笔资料,其每笔所剩的栏位都会不太一样
: (删掉的栏位也不用na取代)
: 这边有个示意图举例
: (删除前:3*10维度)
: 20,14,63,15,74,95,25,10,41,12
: 25,47,80,96,15,44,08,35,18,30
: 18,36,59,54,14,22,70,98,13,24
: (删除後希望变这样)
: 20,14,15,74,95,10,41
: 25,80,96,15,44,08,18,30
: 18,59,54,14,70,24
: 谢谢各位前辈的指导
: 小弟感激不进
: 若问题描述的不够清楚我再补充
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.109.73.190
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1444291590.A.893.html
1F:推 sinclairJ: 谢谢大大 已解决~ 10/14 11:20