全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2648 5
2019-01-28
[求助]想用倒数第2条命令替换倒数第3条命令,请问错误如何修改,谢谢!
#问题:求10000以内的整数里,被2~9除后余数分别为:1,0,1,4,3,0,1,0的值

>X=matrix(1:10000,10000,8)   #1~10000备选样本矩阵
>TC=c(1,0,1,4,3,0,1,0)           #目标余数列
>TCT=rep(TC,each=10000)    #目标余数矩阵
>NN=rep(2:9,each=10000)    #除数数列
>NNM=matrix(NN,10000,8)    #除数矩阵
>TCM<-X%%NNM                 #实际余数矩阵
>#TCM                                 #浏览检查TCM实际余数矩阵
>DT=TCM-TCT                      #实际余数矩阵与目标余数矩阵之差
>#DT                                   #浏览检查DT矩阵
>#ZRSD<-X[DT[,1]==0 & DT[,2]==0 & DT[,3]==0 & DT[,4]==0 & DT[,5]==0 & DT[,6]==0 & DT[,7]==0 & DT[,8]==0,] #筛选符合条件的值
>ZRSD<-X[DT[,1:8]==matrix(0,10000,8),] #同上
>ZRSD[,1]                           #返回符合条件的值

Error in X[DT[, 1:8] == matrix(0, 10000, 8), ] :
  (subscript) logical subscript too long



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2019-1-28 15:12:21
曲线救国解决了部分代码的整洁问题,还是很想知道,多条件矩阵是否有批量处理方法

>ADT<-abs(TCM-TCT)           #实际余数矩阵与目标余数矩阵之差的绝对值
>RADT<-rowSums(ADT)        #求行加总
#RADT                                 #浏览检查
>RSADT<-X[RADT==0,]        #筛选符合条件的样本
>RSADT[,1]                 #返回符合条件的数值
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-1-29 03:30:04
基本上找到了解决办法,或许只能通过两步实现。以下是解决思路,分享给大家:
赋值余数矩阵,计算余数矩阵与目标余数矩阵之差的布尔矩阵,这个布尔矩阵的rowSums==8的样本值即为答案

如果哪位大侠有其他方案,欢迎指点,谢谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-1-30 09:40:23
求10000以内的整数里,被2~9除后余数分别为:1,0,1,4,3,0,1,0的值

这个是指找出一个数,满足被2-9除后,对应1,0,1,4,3,0,1,0的值么?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-1-30 21:24:49
jiangbeilu 发表于 2019-1-30 09:40
求10000以内的整数里,被2~9除后余数分别为:1,0,1,4,3,0,1,0的值

这个是指找出一个数,满足被2-9除后, ...
是的
是一个小游戏案例
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-2-15 13:47:54
谢谢分享
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群