【发布时间】:2020-10-12 11:00:45
【问题描述】:
我有两个大数据集,我想对一些列进行子集化以便使用数据。 我的问题是子集的参考列不完全匹配。所以我希望能够匹配到相同的字符串部分。
这里有一个更简单的例子:
ref_df <- data.frame("reference" = c("swietenia macrophylla",
"azadirachta indica",
"cedrela odorata",
"ochroma pyramidale",
"tectona grandis",
"tamarindus indica",
"cariniana pyriformis",
"paquita quinata",
"albizia saman",
"enterolobium cyclocarpum",
"tapirira guianensis",
"dipteryx oleifera"),
"values" = c(rnorm(12)))
tofind_df <- c("swietenia macrophylla and try try",
"azadirachta indica",
"tamarindus indica (bla bla)",
"tara",
"bla bla (paquita quinata)",
"prosopis pallida",
"dipteryx oleifera")
所以我尝试保留 ref_df 的所有值,这些值的名称在 tofond_df 中甚至部分匹配,但只有在它们相同时才匹配。
finale <- ref_df[ref_df$reference %in% tofind_df$names,]
我也尝试使用 grepl,但找不到解决方案。
我理想的结局应该是这样的:
reference values
1 swietenia macrophylla -0.459001383
2 azadirachta indica -0.430014486
3 tamarindus indica -0.541887328
4 paquita quinata -0.003572792
5 dipteryx oleifera -0.855659901
请考虑一下两个大 df 而不是这种更容易的情况。
【问题讨论】:
-
为什么“tamarindus indica”和“paquita quinata”匹配,而“swietenia macrophylla”不匹配?
-
对不起,我的错误!