输入:
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)输出
opr_time_vals <- c(2.24, 3.52, 5.89, 17.54)已尝试的代码:
my_list <- list(temp_total_time,break_time_vals)
opr_time_vals <- sapply(my_list,remove_nums)我想要一个执行速度非常快的代码,因为我在350000,10000周围有长度的向量
发布于 2018-06-28 00:09:37
可能还有更快的方法..。但这是可行的。
zz <- break_time_vals[!(break_time_vals %in% temp_total_time)]发布于 2018-06-28 01:32:37
您正在寻找setdiff函数:
#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发布于 2018-06-28 00:30:11
我现在找到了一个解决方案..
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]https://stackoverflow.com/questions/51067143
复制相似问题