Tha*_*ame 3 r vector subset apply
说我有一个矢量
vector = c('hello','world')
Run Code Online (Sandbox Code Playgroud)
和另外两个矢量
vector2 = c(2,4)
vector3 = c(4,5)
Run Code Online (Sandbox Code Playgroud)
我如何通过其他两个向量创建第四个向量,它是第一个向量中每个元素的子集?就像是
vector[1][vector2[1]:vector3[1]]
Run Code Online (Sandbox Code Playgroud)
所以对于这些载体来说就是这样
vector4 = ('ell','ld')
Run Code Online (Sandbox Code Playgroud)
我试图使用sapply但遇到了障碍,因为我不确定如何编写函数来对它们进行子集化.
vector4 = sapply(vector, function(x) x[vector2:vector3])
Run Code Online (Sandbox Code Playgroud)
这将涵盖substr/substring,将迭代每个输入:
substr(vector, vector2, vector3)
substring(vector, vector2, vector3)
#[1] "ell" "ld"
Run Code Online (Sandbox Code Playgroud)
这两个功能略有不同.substring将扩展到更长的输入并回收:
substring(c("hello","nopes"), 1:3, 2:4)
#[1] "he" "op" "ll"
substr(c("hello","nopes"), 1:3, 2:4)
#[1] "he" "op"
Run Code Online (Sandbox Code Playgroud)
当您想从单个字符串中提取多个子字符串时,这可能特别有用:
substring("hello", 1:3, 2:4)
#[1] "he" "el" "ll"
substr("hello", 1:3, 2:4)
#[1] "he"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
74 次 |
| 最近记录: |