标签: stringi

如何从系列字符(列名称)中删除最后两个元素?

在我的数据框中,许多列名称以".y"结尾,如示例中所示:

dat <- data.frame(x1=sample(c(0:1)), id=sample(10), av1.y = sample(10) , av2.y = sample(10) , av3.y = sample(10),av4.y=sample(10))
dat
Run Code Online (Sandbox Code Playgroud)

我想摆脱以.y结尾的所有列名的最后两个字符,并保持其他字符不变,以便拥有这样的数据帧:

colnames(dat) <- c("x1","id","av1","av2","av3","av4")
dat
Run Code Online (Sandbox Code Playgroud)

如何在不重新键入所有列名的情况下实现此目的?我找到了一种方法来处理单个字符串,但不知道如何在一系列字符串上重复执行此操作:

library(stringi)
stri_sub("av3.y",1,3)
Run Code Online (Sandbox Code Playgroud)

string r character stringi

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

stri_split_fixed在R中的data.table中

我有一个data.table DT如下.

DT <- structure(list(V1 = structure(1:3, .Label = c("S01", "S02", "S03" ), class = "factor"), V2 = structure(c(1L, 3L, 2L), .Label = c("Alan Hal << Guy John", "Bruce Dick Jean-Paul << Damien", "Jay << Barry Wally Bart"), class = "factor")), .Names = c("V1", "V2"), row.names = c(NA, -3L), class = "data.frame")
# DT
#    V1                             V2
# 1 S01           Alan Hal << Guy John
# 2 S02        Jay << Barry Wally Bart
# 3 S03 Bruce Dick Jean-Paul …
Run Code Online (Sandbox Code Playgroud)

r data.table stringi

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

在R中将重音转换为ASCII

我正在尝试将特殊字符转换为R中的ASCII.我在这个问题中尝试使用Hadley的建议:

stringi::stri_trans_general('Jos\xe9', 'latin-ascii')
Run Code Online (Sandbox Code Playgroud)

但我得到了"乔斯".我正在使用stringi v1.1.1.

我正在运行Mac.我运行Windows机器的朋友似乎得到了"Jose"的理想结果.

知道发生了什么事吗?

unicode r diacritics transliteration stringi

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

如何在R中的字符向量的每个元素中用点替换破折号?

是否有一种简单的方法可以在R中的字符向量的每个元素中用点替换破折号?

input
c("T-A-B", "C-L1")
output
c("T.A.B", "C.L1")
Run Code Online (Sandbox Code Playgroud)

stringi包中寻找帮助但找不到答案.有stri_substitute功能,但我不知道如何使用它.

regex r character stringi

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