【发布时间】:2015-08-24 21:46:08
【问题描述】:
我在 R 中浏览了一些关于 strsplit 的答案。示例文本:
fileName <- c("hello.w-rp-al",
"how.nez-r",
"do.qs-sdz",
"you.d-aerd",
"do.dse-e")
我想获得创建列表的第一个元素,并认为我可以使用诸如
之类的东西fileNameSplit <- strsplit(fileName, "[.]")
node_1 <- fileNameSplit[0]
node_2 <- fileNameSplit[1]
但这没有用。
然后我发现this answer 建议使用sapply 和[。这确实有效。
d <- data.frame(fileName)
fileNameSplit <- strsplit(d$fileName, "[.]")
d$node_1 <- sapply(fileNameSplit, "[", 1)
d$node_2 <- sapply(fileNameSplit, "[", 2)
但是,我想弄清楚为什么。到底发生了什么,[ 与任何事情有什么关系?在我看来,这在语义上令人困惑。
【问题讨论】:
-
[是一个函数。请参阅?"["和get("[")的输出 -
从子集的角度考虑。