楼主: kaurala
1804 3

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

  • 1关注
  • 2粉丝

硕士生

15%

还不是VIP/贵宾

-

威望
0
论坛币
2958 个
通用积分
0.4818
学术水平
1 点
热心指数
0 点
信用等级
0 点
经验
2483 点
帖子
77
精华
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
拉您进交流群
GMT+8, 2025-12-16 09:38