楼主: kaurala
1493 3

[问答] R语言循环问题 [推广有奖]

  • 1关注
  • 2粉丝

硕士生

16%

还不是VIP/贵宾

-

威望
0
论坛币
2958 个
通用积分
0.4818
学术水平
1 点
热心指数
0 点
信用等级
0 点
经验
2489 点
帖子
79
精华
0
在线时间
165 小时
注册时间
2009-11-7
最后登录
2022-3-13

楼主
kaurala 学生认证  发表于 2014-11-27 19:14:37 |只看作者 |坛友微信交流群|倒序 |AI写论文
10论坛币
求教各位大神!问题是这样的,我有一列数据向量num和一个列表数据id,列表数据中各变量长度不相同。我想将列表中各变量数据中出现过num值的项剔除掉。运行程序总出现这个错误Error in id[[j]] : subscript out of bounds。
求问应该怎么改?或者有什么更好的办法可以解决么?
程序如下:
  1. num <- c(21,39,56,75,104,125,139,204,222,238,254,281,314,332,361)
  2. id <- list(c(1:22),c(34:89),c(100:200),c(200:400))
  3. for (i in num) {
  4.   for (j in 1:length(id)) {
  5.     x <- c(match(i,id[[j]]))
  6.     if(is.numeric(x)) {
  7.       id<-id[[j]][-x]
  8.     }
  9.   }
  10. }
复制代码


关键词:R语言 Bounds script Bound scrip R语言
沙发
qoiqpwqr 发表于 2014-11-27 19:14:38 |只看作者 |坛友微信交流群
  1. lapply(id, function(x) x[! (x %in% num)])
复制代码
已有 1 人评分学术水平 热心指数 收起 理由
李会超 + 2 + 2 精彩帖子

总评分: 学术水平 + 2  热心指数 + 2   查看全部评分

使用道具

藤椅
kaurala 学生认证  发表于 2014-11-27 21:21:02 |只看作者 |坛友微信交流群
qoiqpwqr 发表于 2014-11-27 19:14
谢谢!

使用道具

板凳
曲散人终 发表于 2014-12-1 13:30:10 |只看作者 |坛友微信交流群
学习学习

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-20 09:54