У меня есть data.frame из примера записной книжки R по техническому обслуживанию от MS.
Теперь они показывают, как подобрать этот data.frame таким образом (показывая некоторые изпервые строки и некоторые последние только с одной строкой кода вместо head()
или tail()
):
> errors[c(1:3, nrow(errors)-3:1),]
datetime machineID errorID
1 2015-01-03 07:00:00 1 error1
2 2015-01-03 20:00:00 1 error3
3 2015-01-04 06:00:00 1 error5
3916 2015-12-04 02:00:00 100 error1
3917 2015-12-08 06:00:00 100 error2
3918 2015-12-08 06:00:00 100 error3
Они хотят вывести
Я понимаю, что такое двоеточиеоператор делает.Но я не очень понимаю, что он делает в этом примере.Потому что: while 4:1
вернет
> 4:1
[1] 4 3 2 1
и
nrow(errors):1
[1] 3919 3918 3917 3916 3915 3914 3913 3912 3911 3910 3909 3908 3907 3906 3905 3904 3903
[18] 3902 3901 3900 3899 3898 3897 3896 3895 3894 3893 3892 3891 3890 3889 3888 3887 3886
...
Тогда следующее не вернет то, что я ожидал:
> nrow(errors)-3:1
[1] 3916 3917 3918
Я бы получиложидается, что он возвращает тот же длинный список, что и раньше, но начинается с индекса в nrow(errors)-3
.Так что-то вроде:
nrow(errors):1
[1] 3916 3915 3914 3913 3912 3911 3910 3909 3908 3907 3906 3905 3904 3903
...
Что я здесь не так понимаю?Заранее спасибо!