[英]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
哪個是修復我的代碼的最短方法?
考慮這個的兩種方法:
您需要B
的y
列的A
索引元素 - 因此使用$
提取y
列並使用[
應用索引A
。
B$y[A]
或者,您想要B
的A
索引行,並且您只關心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.