簡體   English   中英

生成向量:當一個向量中的值與另一個向量匹配時,在R中相同位置輸入另一個向量的值

[英]Generate a vector: when values in one vector match another vector, input the value of another vector at the same position in R

我正在嘗試根據另一個數據幀中的向量在R中的數據幀中創建一個新向量。

我有一個包含插座號的數據框。 另一個數據框(一致性表)顯示哪個出口名稱與哪個出口編號相對應。 使用一致性表,我想在我的第一個數據框中找到每個相關插座編號的插座名稱,並將它們作為新矢量放入第一個數據框中。

這是我的數據的一個例子

outlet <- rep(1:26)
outletname <- letters[1:26]
concordance <- data.frame(outlet, outletname)
df1 <- data.frame(outlet)

我想做的是,當df1$outlet == concordance$outlet返回concordance$outletnameconcordance$outlet向量內相同位置的值時,對R說

有誰知道如何做到這一點? 非常感謝您的幫助。

在您的示例數據中, df1$outlet concordance$outlet在所有點上都已經等於concordance$outlet 我假設您希望某些東西即使在不正確​​的情況下也能正常工作,因此讓我們先對數據進行加擾以檢查在所有情況下我們所做的工作是否有效:

set.seed(123)
df1 = df1[sample(1:nrow(df1)), , drop = FALSE]

然后,您可以合並出口名稱:

df1 = merge(df1, concordance, by="outlet", sort = FALSE)

暫無
暫無

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

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