gpt4 book ai didi

r - 如何在 gsub 模式中使用数字列表作为变量输入?

转载 作者:行者123 更新时间:2023-12-04 11:11:41 24 4
gpt4 key购买 nike

我只想保留每个字符串的前半部分。导入的数据重复名字,目前都在一个更大的数据框中:

名字:TimmyTimmy、PopPop、AdnanAdnan、KobeKobe。

第一个想法是计算字符数/2,然后使用 gsub 替换该字符数,方法是计算我想从每个字符串开头删除的字符数,使用 fn_len 作为模式中的变量。

fn_len:5、6、5、4

df$fname <- 
gsub("^[[:alpha:]]{df$fn_len}", "", df$fname)

返回错误:无效的正则表达式;原因“{} 的内容无效”

如果我使用单个数字(例如 1、2、3、4、5),但显然不理解此处的一些模式规则,代码就可以工作。

或者,是否有更好的方法从一开始就做到这一点?

最佳答案

这真的看起来像一个子字符串操作会更好

fname<-c("TimmyTimmy", "PopPop", "AdnanAdnan", "KobeKobe")
substr(fname, 1, nchar(fname)/2)
# [1] "Timmy" "Pop" "Adnan" "Kobe"

关于r - 如何在 gsub 模式中使用数字列表作为变量输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27435634/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com