我有一个数据框labels
,由3行1列组成,如下所示:
labels
labels(n)
1 Text, Commission20120125
2 Text, Council2015mmdd
3 Text, Parliament20140312
使用:
labels[1,]
[[1]]
[1] "Text" "Commission20120125"
和
labels[2,]
[[1]]
[1] "Text" "Council2015mmdd"
和
labels[3,]
[[1]]
[1] "Text" "Parliament20140312"
有没有"简单"访问除"Text"
以外的所有内容并将其放在向量中的方法,如下所示:
c("Commission20120125", "Council2015mmdd", "Parliament20140312")
到目前为止,我唯一的解决方案是手动执行:
l1 <- as.vector(labels[1,])
l1 <- unlist(l1)
l1 <- str_extract(l1, "[A-Z][a-z]+[0-9]+")
l <- l1[2]
每个原始的等等。
答案 0 :(得分:1)
您可以尝试
sapply(labels[,1], '[',2)
#[1] "Commission20120125" "Council2015mmdd" "Parliament20140312"
labels <- data.frame(labelsn = I(list(c('Text', 'Commission20120125'),
c('Text', 'Council2015mmdd'), c('Text', 'Parliament20140312'))))
答案 1 :(得分:1)
另一种选择(我认为它更快),
unlist(labels)[c(FALSE,TRUE)] ## use of recycling here
labelsn2 labelsn4 labelsn6
"Commission20120125" "Council2015mmdd" "Parliament20140312"