首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从向量2中的数字中删除向量1中的数字

如何从向量2中的数字中删除向量1中的数字
EN

Stack Overflow用户
提问于 2018-06-28 00:04:45
回答 3查看 42关注 0票数 0

输入:

代码语言:javascript
复制
temp_total_time <- c(1.24, 1, 54 , 1.89, 2.45, 34, 54, 6.91, 7.33, 85.42, 1.19)

break_time_vals <- c(2.24, 3.52, 1.24, 5,89, 1.89, 7.33, 17.54)

输出

代码语言:javascript
复制
opr_time_vals <- c(2.24, 3.52, 5.89, 17.54)

已尝试的代码:

代码语言:javascript
复制
  my_list <- list(temp_total_time,break_time_vals)
  opr_time_vals <- sapply(my_list,remove_nums)

我想要一个执行速度非常快的代码,因为我在35000010000周围有长度的向量

EN

回答 3

Stack Overflow用户

发布于 2018-06-28 00:09:37

可能还有更快的方法..。但这是可行的。

代码语言:javascript
复制
zz <- break_time_vals[!(break_time_vals %in% temp_total_time)]
票数 2
EN

Stack Overflow用户

发布于 2018-06-28 01:32:37

您正在寻找setdiff函数:

代码语言:javascript
复制
#R version 3.3.2 

temp_total_time <- c(1.24,1,54,1.89,2.45,34,54,6.91,7.33,85.42,1.19)

break_time_vals <- c(2.24,3.52,1.24,5,89,1.89,7.33,17.54)

setdiff(break_time_vals,temp_total_time)

[1]  2.24  3.52  5.00 89.00 17.54

这是Demonstration

票数 2
EN

Stack Overflow用户

发布于 2018-06-28 00:30:11

我现在找到了一个解决方案..

代码语言:javascript
复制
 temp_total_time <- trimws(temp_total_time,"both")

 break_time_vals <- trimws(break_time_vals,"both")

 opr_time temp_total_time[!temp_total_time %in% break_time_vals]
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51067143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档