r - 有人可以在这个问题的总和部分解释他们在做什么吗
问题描述
在网上看一些问题,这就是问题
创建函数 unique,给定一个向量将返回一个新向量,其中第一个向量的元素已删除,重复元素已删除。
我查看了解决方案,这就是他们所拥有的
f.uniq <- function (v) {
s <- c()
for(i in 1:length(v)) {
if(sum(v[i] == s) == 0) {
s <- c(s, v[i])
}
}
s
}
f.uniq(c(9, 9, 1, 1, 1, 0))
如果有人能解释这里发生了什么
if(sum(v[i] == s) == 0)
解决方案
sum(v[i] == s) == 0
表示v[i]
不在的条件s
。在这里,v[i] == s
产生一个与 相同维度的逻辑向量s
,因此sum(v[i] == s)
计算TRUE
那里的 s 的数量。如果没有TRUE
ie,sum(v[i] == s) == 0
则可以输入if
语句。
推荐阅读
- java - 如何使用 getAttribute Selenium 防止获取重复的 href
- reactjs - 反应国际常量
正在给出 [object object] 作为结果 - go - 多行中的多个返回值
- gradle - gradle:仅当文件时间戳早于最新源代码时间戳时如何运行任务
- python - Python中的模式匹配 - 从文件中提取和存储字符串
- mysql - 如何使用spring boot从属性文件中获取静态最终属性
- java - 通过返回语句的布尔值重构/循环
- android - 我可以从我的 apk 中删除哪个 libopencv_java3.so?
- c++ - 如何将值从套接字保存到变量 C++
- aem - 从 AEM 父页面继承标签到子页面