gpt4 book ai didi

r - 用另一个向量子集化一个向量

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

假设我有一个像这样的向量

vector = c('hello','world')

还有另外两个向量,比如

vector2 = c(2,4)
vector3 = c(4,5)

我如何创建第四个向量,它是第一个向量中每个元素与其他两个向量的子集?有点像

vector[1][vector2[1]:vector3[1]]

所以对于这些向量来说就是

vector4 = ('ell','ld')

我尝试使用 sapply 但遇到了障碍,因为我不确定如何编写函数来对它们进行子集化。

vector4 = sapply(vector, function(x) x[vector2:vector3])

最佳答案

这由 substr/substring 涵盖,它将遍历每个输入:

substr(vector, vector2, vector3)
substring(vector, vector2, vector3)
#[1] "ell" "ld"

这两个函数略有不同。 substring 将扩展到较长的输入并回收:

substring(c("hello","nopes"), 1:3, 2:4)
#[1] "he" "op" "ll"
substr(c("hello","nopes"), 1:3, 2:4)
#[1] "he" "op"

当您想从单个字符串中提取多个子字符串时,这会特别有用:

substring("hello", 1:3, 2:4)
#[1] "he" "el" "ll"
substr("hello", 1:3, 2:4)
#[1] "he"

关于r - 用另一个向量子集化一个向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46821283/

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