我正在使用lapply
尝试拆分数据框中的字符串。这些字符串全部看起来类似于"02D_48M_RHD"
。我试图在“D”之前和“M”之前抓住数字。无法访问条目后的项目
我的lapply
使用似乎是工作:
a <- lapply(res$description, strsplit, split="[DM]_", fixed=FALSE)
> a[[1]]
[[1]]
[1] "02" "48" "RHD"
但是我不能,我的生命,弄清楚如何访问只是向量的第一个元素在[1。该documentation表明a[[1]][1]
应该给我的第一要素,但是这是发生了什么:
> a[[1]][1]
[[1]]
[1] "02" "48" "RHD"
我不明白为什么这是行不通的。 R告诉我这是一个向量,但它也说它长度为1。
> is.vector(a[[1]])
[1] TRUE
> length(a[[1]])
[1] 1
我不确定我误解了什么。 lapply
是否以某种方式给出输出,而不是我所期望的?我期望一个长度为三的向量列表,这就是它的样子。或者,那是我得到的,但我试图访问他们错了?最后,我想在我的数据框中添加三列,每条信息都有一列,所以任何可以帮助我朝这个方向移动的东西都将不胜感激。
Doh。当然,它已经被矢量化了! – Wilduck