R/handling

expand.grid를 복수로 생성할 때

cj92 2019. 5. 25. 01:46


expand.grid(rep(list,n)) : 각각의 list에 대해 모든 조합을 생성


예제


com=function(kb_station,cn){

data=as.matrix(expand.grid(rep(list(kb_station),cn)))

for(i in 1:(ncol(data)-1)){

  data=data[data[,i]>data[,i+1],]}

return(data)}


cn=2

kb_station=1:11

temp=com(kb_station,cn)

temp=cbind(temp,NA)



com=function(kb_station,cn){

n=0;ls=list()

while(T){

  n=n+1

  ls[[cn-n+1]]=kb_station

  kb_station=kb_station[-1]

  if(n==cn)break

}

data=as.matrix(expand.grid(ls))

for(i in 1:(ncol(data)-1)){

  data=data[data[,i]>data[,i+1],]}

return(data)}