Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/131.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R:如何将向量中的值与同一向量中的所有值进行匹配_R - Fatal编程技术网

R:如何将向量中的值与同一向量中的所有值进行匹配

R:如何将向量中的值与同一向量中的所有值进行匹配,r,R,我在看一个类似于这个的向量 x使用原始的x,这似乎给出了您想要的答案: x <- c("P1D3,P3A7", 0, 0, "P1D3,P3A7", "P1D3, P2A3, P4D2", 0, "P1D3, P3A7, P2G60", "P1D3,P3A7") x我不明白为什么5为假“P1D3,P2A3,P4D2”其中as 4“P1D3,P3A7”为真。它们都没有0。您是否在寻找最长的公共子字符串,正如我在上面所说的,我不想只寻找0以外的任何东西,我希望能够匹配值。在我的理想结果中,“

我在看一个类似于这个的向量


x使用原始的
x
,这似乎给出了您想要的答案:

x <- c("P1D3,P3A7", 0, 0, "P1D3,P3A7", "P1D3, P2A3, P4D2", 0, "P1D3, P3A7, P2G60", "P1D3,P3A7")

x我不明白为什么5为假
“P1D3,P2A3,P4D2”
其中as 4
“P1D3,P3A7”
为真。它们都没有0。您是否在寻找最长的公共子字符串,正如我在上面所说的,我不想只寻找0以外的任何东西,我希望能够匹配值。在我的理想结果中,“P1D3,P2A3,P4D2”将是错误的,我只需要到达那里。我想最长的公共子串会有帮助,但我需要多个长公共子串。你的问题不清楚。目前我使用的向量是数据帧的一列。对于strplit(x,“,\\s*”)函数,引号中的部分是否仍然适用?它似乎称之为非角色argument@DarwinChang-很确定,这是因为您有一个
factor
列-尝试
spl它似乎在大部分情况下都有效。现在唯一的问题是,如果有一个x@DarwinChang-like
mapply(函数(v,s)any(v%in%unlist(spl[-s])),spl,seq_-along(spl))
或其他什么?这太棒了!我认为它有效!你能解释一下清单上的内容吗?
View(xPres)
x <- c("P1D3,P3A7", 0, 0, "P1D3,P3A7", "P1D3, P2A3, P4D2", 0, "P1D3, P3A7, P2G60", "P1D3,P3A7")
spl <- lapply(strsplit(x, ",\\s*"), setdiff, y=c("P1D3","0"))
mapply(function(v,s) any(v %in% unlist(spl[-s])), spl, seq_along(spl))
#[1]  TRUE FALSE FALSE  TRUE FALSE FALSE  TRUE  TRUE