gpt4 book ai didi

list - 在 R 中加速 "pick up first string from unlist"

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

我正在尝试使用显式循环从列表中捕获第一个字符串,如下面的代码所示:

for (loop.temp in (1:nrow(temp)))
{temp[loop.temp,"drug_name_mod"] <- unlist(strsplit(temp[loop.temp,"drug_name"]," "))[1]
print(paste(loop.temp,nrow(temp),sep="/"))
flush.console()
}

但我认为它不是很有效,无论如何改进它?谢谢!

最佳答案

首先对字符串进行strsplit,这会为您提供一个字符串向量列表,然后将其重叠以仅获取第一个元素,然后取消列出:

temp$drug_name_mod <- unlist(lapply(strsplit(temp$drug_name, " "), function(x) x[1]))

sapply 让它稍微简单一点:
temp$drug_name_mod <- sapply(strsplit(temp$drug_name, " "), function(x) x[1])

并且您可以直接使用 "["作为其参数而不是匿名函数:
temp$drug_name_mod <- sapply(strsplit(temp$drug_name, " "), "[", 1)

关于list - 在 R 中加速 "pick up first string from unlist",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4552000/

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