在下面的例子中
x = strsplit('30 min', ' ')
Run Code Online (Sandbox Code Playgroud)
文档状态的返回值是
与 x 长度相同的列表,其中第 i 个元素包含 x[i] 的分割向量。
我希望x[[1]]回来30并x[[2]]回来min
然而x[[1]][1]返回30并x[[1]][2]返回min。
对此有何解释?
您得到的结果是因为您只拆分了一个元素(此答案扩展了最初由@R. Schifini发表的评论)。
x <- '30 min'
length(x)
#> [1] 1
strsplit(x, ' ')
#> [[1]]
#> [1] "30" "min"
Run Code Online (Sandbox Code Playgroud)
尝试拆分 3 个字符串的向量,您将得到一个包含 3 个向量的列表,每个向量包含单个字符串的拆分结果。
x <- c( '30 min', '15 min', '20 30 min etc')
length(x)
#> [1] 3
strsplit(x, ' ')
#> [[1]]
#> [1] "30" "min"
#>
#> [[2]]
#> [1] "15" "min"
#>
#> [[3]]
#> [1] "20" "30" "min" "etc"
Run Code Online (Sandbox Code Playgroud)