a <- c(4000,3500,3000)
b <- c(0.43,0.55,0.61)
test.data <- data.frame(a,b)
Run Code Online (Sandbox Code Playgroud)
假设我想通过引用3500而不是通过行/列来获取值0.55。我将如何实现?我想我可以转换a为字符串,然后以这种方式引用它,但是有没有一种方法可以引用数字值来提取其中的值b?
编辑:谢谢大家的好评!
如果我对它的理解很好,您可以通过以下方式获得它:
test.data$b[test.data$a == 3500]
[1] 0.55
Run Code Online (Sandbox Code Playgroud)
dplyr在您开始R旅程时,我也想向您介绍:
library(dplyr)
test.data %>%
filter(a == 3500) %>%
pull(b)
[1] 0.55
Run Code Online (Sandbox Code Playgroud)
使用data.table-
> setDT(test.data)[a==3500,b]
[1] 0.55
Run Code Online (Sandbox Code Playgroud)
要么
> setDT(test.data)[a==3500]$b
[1] 0.55
Run Code Online (Sandbox Code Playgroud)
注意 -首先,选项是首选,因为注释中提到了@Frank。
| 归档时间: |
|
| 查看次数: |
63 次 |
| 最近记录: |