gpt4 book ai didi

r - R gsub不适用于apply

转载 作者:行者123 更新时间:2023-12-03 08:23:40 26 4
gpt4 key购买 nike

我有以下代码行,其中所有字符都在“_”字符之后:

gsub(" ","",unlist(strsplit(dtt$id,"[,_]")))[2]

而且它工作正常。但是,当我尝试将其放入apply函数中以便对dtt表中的所有id都执行相同操作时,出现以下错误:
apply(dtt,1,gsub(" ","",unlist(strsplit(dtt$id,"[,_]")))[2])

Error in get(as.character(FUN), mode = "function", envir = envir)



dtt:

id等级

1_提姆89

2_ jack 100

3_杰夫55

最佳答案

这是你所追求的吗?

# Sample data
dtt <- read.table(text =
"id grade
1_Tim 89
2_Jack 100
3_Jeff 55", header = T)

apply(dtt, 1, function(x) gsub(" ","", unlist(strsplit(x, "[,_]")))[2])
#[1] "Tim" "Jack" "Jeff"

实际上,这里不需要 apply。您可以这样做:
gsub("\\d+_", "", dtt$id)
#[1] "Tim" "Jack" "Jeff"

或者,如果您要清理 id中的 dtt条目,请执行以下操作:
transform(dtt, id = gsub("\\d+_", "", id));
# id grade
#1 Tim 89
#2 Jack 100
#3 Jeff 55

关于r - R gsub不适用于apply,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49598065/

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