r - 如何计算R中两列的匹配值?
问题描述
我无法弄清楚如何做到这一点,我似乎无法找到答案,因此将不胜感激。我想要做的是计算某些匹配值,例如,如果列 x 有 ab 并且列 y 有 a 它被计为一个/匹配并且它完成直到最后一行。
df <- data.frame(x = c("b","c","a","d","f","b","c","b"), y = c("a","b","c","a","d","a","f","a"))
> df
x y
1 b a
2 c b
3 a c
4 d a
5 f d
6 b a
7 c f
8 b a
我尝试过的是这样的:
b <- x == "b"
a <- y == "a"
b[a]
我假设 b 找到任何有 a 的行,如果这有意义的话。
解决方案
使用“and”运算符&
组合逻辑条件,指示它们何时都为真,并sum()
计算逻辑条件为真的次数。我想你想要
sum(df$x == "b" & df$y == "a")
# [1] 3
请注意这很好地反映了您的语言。您说“ x 有一个“b”,而列 y 有一个“a ”。
# x has a "b" and y has an "a"
x == "b" & y == "a"
|
如果您想查看 x 有多少次“b”或y 有多少次“a”,可以使用“或”运算符。
推荐阅读
- r - 从闪亮的选定数据表行中获取单元格值
- python-3.x - \r 以更新输出未按演示运行
- sql - SQL - 相乘的列未正确求和
- c - C 程序在执行 scanf() 并从用户那里获取输入后终止而没有任何错误
- react-native - 在反应原生的 Mapbox 上添加自定义表情符号
- c# - AWS Congito .NET Core JWT Lambda
- javascript - 通过将变量值与对象值匹配来创建变量?
- python - 在 facetplot 上绘制水平线(seaborn relplot)
- javascript - 根据错误状态代码重定向到 Angular 中的组件
- airflow - 无状态 Apache 气流服务