相关疑难解决方法(0)

如何根据R中的向量从data.frame中提取值?

假设我有一个数字向量,如:

x <- c(1.0, 2.5, 3.0)
Run Code Online (Sandbox Code Playgroud)

和data.frame:

df<-data.frame(key=c(0.5,1.0,1.5,2.0,2.5,3.0),
       value=c(-1.187,0.095,-0.142,-0.818,-0.734,0.511))

df
  key  value
1 0.5 -1.187
2 1.0  0.095
3 1.5 -0.142
4 2.0 -0.818
5 2.5 -0.734
6 3.0  0.511
Run Code Online (Sandbox Code Playgroud)

我想提取df $ key中具有相同值等于x的所有行,结果如下:

df.x$value
[1] 0.095 -0.734  0.511
Run Code Online (Sandbox Code Playgroud)

请问有效的方法吗?我已经尝试过data.frame,hash包和data.table,但都没有成功.感谢帮助!


多谢你们.我实际上尝试了类似的东西,但得到了df $ key和x反转.是否可以使用hash()函数(在'hash'包中)执行此操作?我看到哈希可以做的事情如下:

h <- hash( keys=letters, values=1:26 )
h$a # 1

h$foo <- "bar"
h[ "foo" ]
h[[ "foo" ]]

z <- letters[3:5]

h[z]
<hash> containing 3 key-value pair(s).
c : 3
d : 4
e : 5 …
Run Code Online (Sandbox Code Playgroud)

hash r dataframe data.table

5
推荐指数
2
解决办法
1万
查看次数

标签 统计

data.table ×1

dataframe ×1

hash ×1

r ×1