r - 为什么循环不起作用?if & C 函数
问题描述
data_base<- c("www.url1.com","www.url2.com","www.url3.com")
data1<-c("www.url4.com","www.url5.com","www.url2.com")
lapply(data1,function(x){if(is.element(x, data_base)==F){
data_base<-c(data_base,x)}else{NULL}})
我想测试“data1”向量中的每个元素,如果它与“data_base”中已经存在的任何元素都不匹配,请将其添加到“data_base”。即使条件为 true,它也不会添加。
解决方案
最好的方法是:
data_base <- union( data_base , data1 )
所以
data_base<- c("www.url1.com","www.url2.com","www.url3.com")
data1<-c("www.url4.com","www.url5.com","www.url2.com")
data_base <- union(data_base, data1)
> data_base
[1] "www.url1.com" "www.url2.com" "www.url3.com" "www.url4.com" "www.url5.com"
但是要直接回答您的问题,您只是data_base
在lapply
. 您需要返回它或使用<<-
(但不要这样做)分配它以获得您期望的行为。
推荐阅读
- javascript - 如何通过 DM 向所有具有特定角色的成员发送消息?
- java - 如何解决:org.json.JSONException: Value GVL7TY of type java.lang.String cannot be convert to JSONObject
- android - 与滚动视图和其他线性布局重叠的线性布局
- ios - 当 JSON 与数据结构不匹配时,JSONDecoder 不会抛出
- python-3.x - 如何在kivy中每秒显示一个随机点
- html - 在网格中选择特定的 div
- r - 使用 D20(20 面骰子)的掷骰概率矩阵
- android - 将 webview geturl 和 gettitle 保存在 Sqlite 数据库中。语法错误撇号的问题'
- java - 使用 java Mapstruct 的模糊映射方法
- asp.net - 我应该如何将 viewmodel 发送到 Controller 中的 Create 方法?