R-在数据帧中使用括号

时间:2015-12-03 06:50:40

标签: r dataframe data-analysis

我正在研究一个包含8行和5列的数据帧。我打算只打印最后3行。 我最初这样写道: last_3< - my_df [nrow(my_df) - 2:nrow(my_df),] last_3 这打印了从第6行到第1行的前6行(即按降序排列) 然后我这样做了它按预期工作(即行号6,7和8) last_3< - my_df [(nrow(my_df) - 2):nrow(my_df),] last_3 任何人都可以解释括号带来的变化吗? 第一种情况下的输出是如何产生的。

1 个答案:

答案 0 :(得分:2)

这可以通过观察冒号:运算符的优先级高于<{>}运算符的更高顺序来解释。这是一个示例,它会向您显示正在发生的事情,假设您的数据框-有4行:

my_df

换句话说,您确实在序列my_df <- data.frame(v1=c(1,2,3,4), v2=c(1,2,3,4), v3=c(1,2,3,4)) nrow(my_df) - 2 : nrow(my_df) 4 - (2 : 4) 4 - [2, 3, 4] [2, 1, 0] 中添加了一个数字。当你用括号包装索引时,你得到了你真正想要的行为:

2:4