小编ben*_*ett的帖子

gsub 的否定 | 替换特定向量中除字符串之外的所有内容

我有一个字符串向量:

ve <- c("N","A","A","A","N","ANN","NA","NFNFNAA","23","N","A","NN", "parnot", "important", "notall")
Run Code Online (Sandbox Code Playgroud)

我只想在此向量中保留三个可能的值:NANA

因此,我想替换任何不是NA的元素NA

我怎样才能实现这个目标?

我已经尝试过以下方法:

gsub(ve, pattern = '[^NA]+', replacement = 'NA')
gsub(ve, pattern = '[^N|^A]+', replacement = 'NA')
Run Code Online (Sandbox Code Playgroud)

但这些效果不佳,因为它们将每个字符串中的每个“A”或“N”实例替换为 NA。所以在某些情况下我最终会得到NANANANANANA, 而不是简单地NA.

regex r negation gsub

6
推荐指数
1
解决办法
2541
查看次数

根据 0.5 的容差阈值 (±) 比较两个数字向量

我有两个向量gh。我想比较这两个向量中的数字,看看它们之间是否有共同元素。但共同元素不必完全相同,可以在 的范围内(-0.5, +0.5)。因此,g\xc2\xb10.5正在与 进行比较h\xc2\xb10.5

\n\n
g <- c(0.5, 5956.3, 38, 22.666, 590.3, 21.992, 9.3)\nh <- c(0.7, 99.2, 39, 30, 21.68, 9.4, 22.333, 0.001, 0.000222, 9.999)\n
Run Code Online (Sandbox Code Playgroud)\n\n

例如,在上面的两个向量中,0.5fromg0.7from匹配,因为它们彼此h位于 from 附近。并且还匹配。而且,并且也匹配,因为它们的差异也在范围之内。\xc2\xb10.59.49.322.66622.333(-0.5, +0.5)

\n\n

值得注意的是,的每个元素都应该与 的每个元素进行g比较。h

\n\n

有没有一个函数可以做到这一点R

\n\n

all.equal不幸的是,函数仅将一个向量中的每个元素与另一个向量中具有相同索引的元素进行比较,因此期望向量的长度相等。我想做的是,我想将向量的每个元素g与向量的每个元素进行比较h

\n

r unique set-difference intersect threshold

1
推荐指数
1
解决办法
1521
查看次数

标签 统计

r ×2

gsub ×1

intersect ×1

negation ×1

regex ×1

set-difference ×1

threshold ×1

unique ×1