Joh*_*lee 2 r data-manipulation subset match
我有一个数据框:
a <- c(1,2,3,4,5,6)
b <- c(1,2,1,2,1,4)
c <- c("A", "B", "C", "D", "E", "F")
df <- data.frame(a,b,c)
Run Code Online (Sandbox Code Playgroud)
我想要做的是创建另一个向量d
,其中包含c
行中a
与每个值匹配的值b
所以我的新矢量看起来像这样:
d <- c("A", "B", "A", "B", "A", "D")
Run Code Online (Sandbox Code Playgroud)
作为一个例子,的最终值b
就是4
,其与第4行匹配a
,所以值d
是的第四行c
,这是"D"
.
如果a和b都是具有整数值的列表,则可以直接使用它们.
d <- c[b[a]]
d
[1] "A" "B" "A" "B" "A" "D"
Run Code Online (Sandbox Code Playgroud)
如果a是沿c的常规整数序列,则可以简单地从b调用c.
c[b]
[1] "A" "B" "A" "B" "A" "D"
Run Code Online (Sandbox Code Playgroud)