相关疑难解决方法(0)

如何避免R中的循环:从列表中选择项目

我可以使用循环解决这个问题,但我正在尝试在向量中思考,所以我的代码将更多R-esque.

我有一个名单.格式为firstname_lastname.我想从这个列表中删除一个只有名字的单独列表.我似乎无法理解如何做到这一点.这是一些示例数据:

t <- c("bob_smith","mary_jane","jose_chung","michael_marx","charlie_ivan")
tsplit <- strsplit(t,"_")
Run Code Online (Sandbox Code Playgroud)

看起来像这样:

> tsplit
[[1]]
[1] "bob"   "smith"

[[2]]
[1] "mary" "jane"

[[3]]
[1] "jose"  "chung"

[[4]]
[1] "michael" "marx"   

[[5]]
[1] "charlie" "ivan"   
Run Code Online (Sandbox Code Playgroud)

我可以使用这样的循环得到我想要的东西:

for (i in 1:length(tsplit)){
    if (i==1) {t_out <- tsplit[[i]][1]} else{t_out <- append(t_out, tsplit[[i]][1])} 
}
Run Code Online (Sandbox Code Playgroud)

这会给我这个:

t_out
[1] "bob"     "mary"    "jose"    "michael" "charlie"
Run Code Online (Sandbox Code Playgroud)

那么我怎么能没有循环呢?

r list vector strsplit

31
推荐指数
5
解决办法
3万
查看次数

标签 统计

list ×1

r ×1

strsplit ×1

vector ×1