Я видел +0L
, который использовался в ответе на вопрос, и выяснил, что он хорошо работает с матрицами/кадрами данных/таблицами данных, где as.integer()
не сможет сохранить начальные классы данных.
> a <- matrix(TRUE, nrow=3, ncol=3)
> a
[,1] [,2] [,3]
[1,] TRUE TRUE TRUE
[2,] TRUE TRUE TRUE
[3,] TRUE TRUE TRUE
> as.integer(a)
[1] 1 1 1 1 1 1 1 1 1
> a+0L
[,1] [,2] [,3]
[1,] 1 1 1
[2,] 1 1 1
[3,] 1 1 1
- Существуют ли другие различия между этими подходами?
- Каковы плюсы и минусы и оговорки при использовании одного или другого?
[edit:] много мудрости в комментариях! По-видимому, существует много разных способов достижения такого же результата, некоторые из которых я понятия не имел, поэтому:
- Каковы другие способы достижения того, что делает
a+0L
?