簡體   English   中英

從 R 中的向量索引 data.frame

[英]Indexing data.frame from vector in R

我有一個非常簡單的索引問題。 如果我有兩個變量 A 和 B

A = c(1,2,1,1) 
B = data.frame( x = c(1,2), y=c( 'up', 'down') ) 

我需要有一個結果像 A 的輸出

[1]“上”“下”“上”“上”

我的代碼是這樣的

 B[ which(A %in% B$x), ]$y

但我得到

[1] “上” “下” NA NA

哪個是修復我的代碼的最短方法?

考慮這個的兩種方法:

您需要By列的A索引元素 - 因此使用$提取y列並使用[應用索引A

B$y[A]

或者,您想要BA索引行,並且您只關心y列,請使用data[rows, columns]的標准數據框索引:

B[A, "y"]

您可以使用命名向量:

unname(c("1" = "up", "2" = "down")[A])
[1] "up"   "down" "up"   "up" 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM