PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
R_Language
[问题] combn取法(一定要包含1)
楼主:
getsimple
(getsimple)
2020-10-16 02:22:24
[问题类型]:
程式咨询(我想用R 做某件事情,但是我不知道要怎么用R 写出来)
[软件熟悉度]:
新手(没写过程式,R 是我的第一次)
[问题叙述]:
我目前想要取data的columns
然后做所有的组合
但一定都要包含第一个column
目前code如下:
N <- 5
Model = list()
C <- 1
for(i in 1:N){
i_Combn <- combn(N, i)
for(j in 1:choose(N, i)){
Model[[C]] <- i_Combn[, j]
C <- C + 1
}
}
Model
结果为:
https://i.imgur.com/X8VspIL.jpg
但我今天想要的结果一定要包含1
也就是我想要得到的结果是:
1
1 2
1 3
1 4
1 5
1 2 3
1 2 4
1 2 5
1 3 4
1 3 5
1 4 5
1 2 3 4
1 2 3 5
1 2 4 5
1 3 4 5
1 2 3 4 5
想了很久都弄不出来
拜托大家帮帮我
非常感谢
[关键字]:
Combn、排列组合
作者: Gjerry
2020-10-16 02:35:00
你可以想像每一个位置有 True 和 False 两种可能1 可以看成 T F F F F,1, 2 可以看成 T T F F F问题就变成如何产生所以的 T/F 组合,可以以此试试看
作者:
locka
(locka)
2020-10-16 09:02:00
https://ideone.com/AjvqJm
作者:
andrew43
(讨厌有好心推文后删文者)
2020-10-16 10:25:00
硬上就是在内层for中再包一个if (1 %in% i_Combn[, j])
作者:
khaos
(出来混的...)
2020-10-16 11:32:00
为什么不把1以外的column做完全组合后,再跟1 column结合?
作者:
rebe212296
(绿豆冰)
2020-10-16 12:55:00
用expand.grid即可
楼主:
getsimple
(getsimple)
2020-10-16 13:20:00
G大,这个我有用过,但我底下要做迭代运算,如果用取资料的方式,会更方便~谢谢你提供的想法l大,感谢你!!我想要的就是这样~a大跟r大,我再试试看,感恩~k大,因为这样会有重复,譬如说1 3 5如果跟1结合,会变成 1 1 3 5,但我只要1 3 5
作者:
locka
(locka)
2020-10-16 15:30:00
我想楼上k大的意思应该是像这样
https://i.imgur.com/lTZra
1r.jpeg
https://i.imgur.com/lTZra1r.jpeg
再把1黏到每个元素的第一个阿捏,不过list里面的matrix我不是很会处理这种结构(苦手),希望其他高手可以补充>"<
楼主:
getsimple
(getsimple)
2020-10-16 17:09:00
了解,感谢教学,其实我也不太会处理这种哈哈,遇到我都写循环...不过就会变成一堆循环,因为我目前就是这样...做这个组合的目的只是要取list里面的data,我的用途是取位置用的,但变成要用for去取data里头的x(因为资料型态是list)
作者:
andrew43
(讨厌有好心推文后删文者)
2020-10-16 19:08:00
loop没什么不好,顶多比较难看。你可以额外练习内存预分配的技巧。推荐阅读本板
#1LjDrSmd
楼主:
getsimple
(getsimple)
2020-10-16 22:41:00
a大,谢谢,马上来看看
作者:
rebe212296
(绿豆冰)
2020-10-16 22:52:00
combn(5,1);combn(5,2);combn(5,3);combn(5,4);然后取里面有1的
楼主:
getsimple
(getsimple)
2020-10-17 17:56:00
r大,了解,谢谢~
作者:
khaos
(出来混的...)
2020-10-17 20:56:00
是不是可以顺便再搭配apply?
作者:
TOOYA
(在草地等流星)
2020-10-23 19:09:00
跑一个循环,把没有1的丢掉,会不会比较简单?
继续阅读
[问题] 如何将每行数据靠中间
lin810221
请问怎么把地图中县市名的位置做微调?
zerone
[问题] 关于TAM及CTT的问题
asdfrtg
[问题] 碰到有笔数限制的网站该怎么办
m7413005
[问题] 用dplyr做任两column相乘
rebe212296
[问题] 如何用bat档让rmarkdown输出word?
mrecct
[问题] 人口统计应该如何做?
jojo321
Re: [问题] 快速产生混淆矩阵
rebe212296
[问题] 快速产生混淆矩阵
totolink
[问题] for循环_矩阵相加
lin810221
Links
booklink
Contact Us: admin [ a t ] ucptt.com