![](/img/trans.png)
[英]How to subset a dataframe in r based on an observation whose cell has more than one value separated by commas?
[英]How to quality control a variable through matching to more than one observation
我在要进行质量控制的数据框中有一个变量。 变量列出位置(字符)。 我有另一个数据框,其中包含同一位置的所有备用名称。 无论我的数据框中的一个变量与单独数据框中的所有备用名称之间是否匹配,我都想获得真/假。 有没有办法做到这一点?
即我的数据框中的变量称为 FishingGround,我想对其进行质量控制:
渔场
龙虾湾
深湾
鲸头
然后我的另一个数据框在同一位置具有所有不同的可能名称。 所以我想创建一个 for 循环,它遍历我的 FishingGround 变量中的每个观察,并检查它是否与列出的几个备用名称之一匹配。
我喜欢把它作为一个查找表。 您可以使用可接受的名称作为条目的名称并查找它们。 如果名称不在列表中,您将得到 NA 作为结果。 例子:
FishingGround = c("Lobster Bay", "Deep Cove", "Whale Head")
AcceptableNames = c("Lobster Bay", "Lobster Claw",
"Deep Cove", "Shallow Cove", "Whale Tail")
names(AcceptableNames) = AcceptableNames
AcceptableNames[FishingGround]
Lobster Bay Deep Cove <NA>
"Lobster Bay" "Deep Cove" NA
NA 对应于不可接受的条目
## Unacceptable names
FishingGround[which(is.na(AcceptableNames[FishingGround]))]
[1] "Whale Head"
## Acceptable names
FishingGround[which(!is.na(AcceptableNames[FishingGround]))]
[1] "Lobster Bay" "Deep Cove"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.