我有一个类似矢量的分割字符串
public interface AppleRepository extends CrudRepository<Apple, Long> {
@Query("SELECT new com.mypackage.Apple(a.field1, a.field2) FROM " +
" Apple a ")
List<Apple> findCustomApples();
}
返回我
df <- c("Test A:No1", "Test B:No2")
l <- str_split(df, ":")
l
现在,我有兴趣独立访问所有第一个元素和所有最后一个元素,或者创建类似的向量
[[1]]
[1] "Test A" "No1"
[[2]]
[1] "Test B" "No2"
和
[1] "Test A" "Test B"
我尝试了几种带或不带逗号的单括号和双括号,但是l [[x]] [1]或l [[x]] [2]只给我列表元素x。
如何一次访问所有元素(例如l [[]] [1])?
答案 0 :(得分:0)
也许使用unlist和lapply可以完成工作。
df <- c("Test A:No1", "Test B:No2")
l <- str_split(df, ":")
> unlist(lapply(l,function(x) x[1]))
[1] "Test A" "Test B"
> unlist(lapply(l,function(x) x[length(x)]))
[1] "No1" "No2"
答案 1 :(得分:0)
您可以使用sapply
。
sapply(l, `[`, 1)
# [1] "Test A" "Test B"
sapply(l, `[`, 2)
# [1] "No1" "No2"
说明:在R中,相当多的东西都是函数。括号`[`
实际上也是函数。考虑以下示例可以清楚说明上面sapply
起作用的原因。
示例
考虑此向量
x <- c("A", "B")
我们在做什么
x[1]
# [1] "A"
x[2]
# [2] "B"
我们实际上正在使用`[`
函数的基础前缀形式的特殊形式:
`[`(x, 1)
# [1] "A"
`[`(x, 2)
# [1] "B"