小编Dar*_*can的帖子

提取两个字符串之间不同的字符

我曾经用来adist计算两个字符串之间不同的字符数:

a <- "Happy day"
b <- "Tappy Pay"
adist(a,b) # result 2
Run Code Online (Sandbox Code Playgroud)

现在我想提取那些不同的角色.在我的例子中,我想得到字符串"Hd"(或者"TP",没关系).

我想看看在adist,agrepstringi却一无所获.

string r character

10
推荐指数
3
解决办法
1万
查看次数

clusplot - 显示变量

我想将clusplot用于pca的变量添加到绘图中作为箭头.我不确定是否已经实现了一种方法(我在文档中找不到任何内容).

我已经制作了一个如下所示的clusplot:

使用clusplot生成的集群

使用包princomp我可以在类似的表示空间中独立地绘制观察结果,变量(列)作为箭头:

在此输入图像描述

有没有办法同时做两件事,通过在同一图表上显示集群和pca的变量?

r cluster-analysis pca

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

提取r中两个字符串之间的差异("相对补集")

我找不到办法做到这一点......

raw_string <- "\"+001\", la bonne surprise de M. Jenn M. Ayache http://goo.gl/3EXxy6 via @MYTF1News"

clean_string <- "+001, la bonne surprise de Jenn Ayache"

desired_string <- "\"\"M. M. http://goo.gl/3EXxy6 via @MYTF1News"
Run Code Online (Sandbox Code Playgroud)

我不确定如何称之为这种转变.我会说"差异"(如在集合理论中,反对"联合"和"交集").一个更好的名字可能是"相对补充"(http://en.wikipedia.org/wiki/Complement_(set_theory)#Relative_complement).

我想要的字符串只有clean_string中缺少的所有字符,按照良好的顺序,每次出现时都会丢失一次,包括空格,标点符号和所有内容.

我设法做的最好不够好:

> a <- paste(Reduce(setdiff, strsplit(c(raw_string, clean_string), split = " ")), collapse = " ")
> a
[1] "\"+001\", M. http://goo.gl/3EXxy6 via @MYTF1News"
Run Code Online (Sandbox Code Playgroud)

string r

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

使用stringi和gsub的不同输出(在同一个字符串上使用相同的模式)

我想知道为什么我通过使用gsub和stringi获得两个不同的输出字符串.元字符是否"." 不包括stringi中的新行?stringi读"逐行"吗?

顺便说一句,我没有找到任何方法来执行stringi的"正确"替换,所以我需要在这里使用gsub.

string <- "is it normal?\n\nhttp://www.20minutes.fr"

> gsub(" .*?http"," http", string)
[1] "is http://www.20minutes.fr"

> stri_replace_all_regex(string, " .*?http"," http")
[1] "is it normal?\n\nhttp://www.20minutes.fr"
Run Code Online (Sandbox Code Playgroud)

r gsub stringi

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

在r中转义斜杠不起作用

我已经读过如果你想在字符串中插入一个反斜杠你需要转义它:

a <- "\\"
Run Code Online (Sandbox Code Playgroud)

问题是,如果我这样做,我的字符串中会出现两个斜杠!

> a <- "\\"
> a
[1] "\\"
Run Code Online (Sandbox Code Playgroud)

如何在我的字符串中只获得一个反斜杠?

regex r

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

不正确*不正确等于真?

由于以下行为,我在代码中遇到了一些问题R:

> F * F
[1] 0

> !T * !T
[1] TRUE
Run Code Online (Sandbox Code Playgroud)

有人可以解释一下如何避免这种情况吗?

我需要乘以一些值并得到逻辑乘法的结果:

!first * !second * !third
Run Code Online (Sandbox Code Playgroud)

如果所有值都是真的,我想得到一个"真".

r logical-operators

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