【发布时间】:2021-10-18 19:59:16
【问题描述】:
感谢您对以下问题的建议包或基本 R 解决方案的帮助(提前致谢。)
假设我有一个来自statistical_function 的字符元素向量(下面)。如果我提供两个字符元素的名称(例如,provided = c("high", "aware")),那么我需要一种机制来为我生成以下二进制向量:desired_vector = c(0,1,1,0,1)。
长度:此desired_vector 的长度与统计函数输出中的元素数减去名为intrcpt 的元素的长度相同。因此,在这种情况下,desired_vector 将具有 5 元素。
元素 A: 对于 statistical_function 的输出中不包含 :(例如 "weekhigh")但包含 provided 向量元素之一的每个元素("high") 我想要的向量应该是1。
元素 B: 对于统计函数输出中包含 :(例如,"weekhigh:testeraware")和包含 provided 向量元素("high" & "aware") 我想要的向量应该是1。
否则desired_vector 中的所有剩余元素都应为0。这可以在 R 中实现吗?
在下面的示例中,desired_vector 的第一个元素是 0,因为除了 intrcpt,weekssome 不包含 "high" 或 "aware",第二个元素是 1,因为 weekshigh有"high",第3 个元素是1,因为"testeraware" 包含"aware",第4 个元素是0,因为"weekssome:testeraware" 不包含"high" 和"aware",第5 个元素是@987654因为它确实包含"high" 和"aware"。
statistical_function = c("intrcpt","weekssome","weekshigh",
"testeraware","weekssome:testeraware","weekshigh:testeraware")
# [1] "intrcpt" "weekssome" "weekshigh"
# [4] "testeraware" "weekssome:testeraware" "weekshigh:testeraware"
provided_vector = c("high", "aware")
desired_vector = c(0, 1, 1, 0, 1)
【问题讨论】:
标签: r regex string character tidyverse