r - 如何使用R在新向量中返回向量中整数出现次数的计数
问题描述
R 的新手。我见过很多类似的问题,其中表用于计算出现次数,但我想为 vector_1 中的每个整数(例如 1 到 10)创建一个新向量,其中出现的次数vector_1 中的整数在vector_2 中检查,然后在第三个vector_3 中返回。
期望的结果:
vector_1 <- c(1:10)
vector_2 <- c(3, 4, 4, 5, 7, 9, 10)
vector_3 <- c(0, 0, 1, 2, 1, 0, 1, 0, 1, 1)
我尝试过使用 for 循环,例如:
for (i in 1:10) {
for (j in vector_2) {
print(i) <- vector_3
}
}
显然这段代码不起作用,但我只是没有找到一种对向量之间的出现求和的好方法。欢迎任何指导或替代方法。
*编辑:我见过的类似问题的大多数答案都使用表格来计算vector_2中的出现次数;我没有遇到比较两个向量然后输出结果的问题。
解决方案
你的代码对我来说没有意义。无论如何,您可以轻松地将向量 1 中的每个值与向量 2 中的每个值使用outer
. rowSums
然后可以给你所需的计数。
vector_1 <- c(1:10)
vector_2 <- c(3, 4, 4, 5, 7, 9, 10)
rowSums(outer(vector_1, vector_2, "=="))
#[1] 0 0 1 2 1 0 1 0 1 1
推荐阅读
- c# - 在事件处理程序中创建延迟 - C#
- python-3.x - 重用从 DeviceCodeCredential 获得的令牌
- python - 有组织的 pandas df 列表的字典列表
- javascript - 是共享 WebAssembly.memory、SharedArrayBuffer 吗?
- c++ - 禁用 std::initializer_list 构造函数
- python - Python dict 的 __new__ 方法有问题
- c++ - 如何从 UTC 日期创建 C++11 system_time(线程安全)
- firebase - 是否可以在 Firebase 中仅接受来自我的应用程序的函数调用?
- c# - 如何在 c# 中使用 Linq 或 lambda 表达式获取对象的第二/第三个内部列表的总数
- iphone - 如何在 Apple 邮件客户端上调试 html 呈现问题