楼主: philchenko
1619 3

[有偿编程] 原始数据分割后全组合产生新数据 [推广有奖]

  • 0关注
  • 0粉丝

初中生

80%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
2 点
热心指数
1 点
信用等级
1 点
经验
282 点
帖子
18
精华
0
在线时间
11 小时
注册时间
2011-1-5
最后登录
2018-11-19

楼主
philchenko 发表于 2016-6-21 23:10:36 |AI写论文
3论坛币
前面发了一个帖子没有悬赏,这里重新开一个,希望大家帮忙。
概念是这样的,有一个原始数据X是2行6列,现在根据输入的N=3来分成三块,x1,x2,x3。这个下面代码已经可以实现了。

X<-matrix(1:12,nrow = 2, ncol= 6, byrow = T)
N=3
for (i in 1:N){
  assign(paste0("x",i), X[,(1+(i-1)*6/N):(i*6/N)])
}


接下来的任务就是把分割的数据重新全组合成一系列子数据,由于N=3,所以全部组合数为7,于是要循环创造新的变量s1到s7,使得:
s1=x1
s2=x2
s3=x3
s4=data.frame(x1,x2)
s5=data.frame(x1,x3)
s6=data.frame(x2,x3)
s7=data.frame(x1,x2,x3)

这个举例是一个范例,目的就是对于任何输入的N,都能把原始数据打散后重新给出全组合的新子数据系列。希望大神相助!

关键词:原始数据

沙发
bbslover 在职认证  发表于 2016-6-22 00:08:24
http://127.0.0.1:27746/library/utils/html/combn.html  不知道这个有用否
已有 1 人评分经验 收起 理由
李会超 + 40 热心帮助其他会员

总评分: 经验 + 40   查看全部评分

藤椅
philchenko 发表于 2016-6-22 12:26:56 来自手机
bbslover 发表于 2016-6-22 00:08
http://127.0.0.1:27746/library/utils/html/combn.html  不知道这个有用否
能不能详细些?

板凳
zhangyangsmith 发表于 2016-6-28 21:14:31
  1. arr <-
  2.   array( matrix( 1:12, c(2, 6), byrow = T ), dim = c( 2, 2, 3 ) )
  3. lapply(
  4.   mapply( combn, 1:3, MoreArgs = list( x = 3 ) ),
  5.   function(m)
  6.     apply( m, 2, function(iv) data.frame( arr[, , iv] ) )
  7.       )
  8. #
  9. # [[1]]
  10. # [[1]][[1]]
  11. #   X1 X2
  12. # 1  1  2
  13. # 2  7  8
  14. #
  15. # [[1]][[2]]
  16. #   X1 X2
  17. # 1  3  4
  18. # 2  9 10
  19. #
  20. # [[1]][[3]]
  21. #   X1 X2
  22. # 1  5  6
  23. # 2 11 12
  24. #
  25. #
  26. # [[2]]
  27. # [[2]][[1]]
  28. #   X1 X2 X3 X4
  29. # 1  1  2  3  4
  30. # 2  7  8  9 10
  31. #
  32. # [[2]][[2]]
  33. #   X1 X2 X3 X4
  34. # 1  1  2  5  6
  35. # 2  7  8 11 12
  36. #
  37. # [[2]][[3]]
  38. #   X1 X2 X3 X4
  39. # 1  3  4  5  6
  40. # 2  9 10 11 12
  41. #
  42. #
  43. # [[3]]
  44. # [[3]][[1]]
  45. #   X1 X2 X3 X4 X5 X6
  46. # 1  1  2  3  4  5  6
  47. # 2  7  8  9 10 11 12
  48. #
复制代码

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-8 12:13