49

在 python 中,我可以从五项列表(从中提取值)中分割最后四项,如下所示mylist[1:]:(注意,基于 0 的索引)。在 R 中,似乎冒号后没有内容是错误的。在这两种语言中,我都可以将最后一个参数作为列表的长度,但这并不总是很方便(例如内联切片:)colnames(iris)[2:length(colnames(iris))]

R中有这样的语法吗?

4

2 回答 2

52

好吧,这令人困惑,来自 python 背景,但mylist[-1]似乎可以解决问题。在这种情况下,否定可以理解为“除外”,即获取除第 1 列之外的所有内容。因此colnames(iris)[-1]可以获取除第一项之外的所有内容。

哦,要排除更多项目,请将其视为已排除的范围,因此colnames(iris)[-2:-4]仅保留第一个项目和第五个项目之后(包括)之后的所有项目。

对于其他来自 python 的人,请查看这个漂亮的幻灯片,将 R 与 python 进行比较

于 2013-02-28T04:22:07.970 回答
35

在 Rtail(mylist, -2)中,与 Python 中的效果相同mylist[2:]

于 2016-06-28T12:13:50.803 回答