в R не существует ни одного числа или одной строки.Они являются векторами длины 1. Или встроены в некоторые более сложные структуры.
is.vector(c(0.1))
и is.vector(0.1)
в R абсолютно идентичны.
Это также причина, почему length("this is a string/character")
возвращает 1
- потому что length()
в этом случае измеряет количество элементов в векторе.
И вы увидите это, если вы наберете "this is a string/character"
в консоли R: Возвращает [1] "this is a string/character"
- [1]
указывает: вектор длины 1.
Таким образом, вы должны сделать nchar("this is a string/character")
, чтобы получить длину первого элемента - строки символов - возвращая 26
.
nchar(c("this is a string/character", "and this another string"))
## [1] 26 23
## nchar is vectorized as you see ...
Этоэто важное отличие от Python, где строки и числа могут стоять отдельно.Так len("this")
возвращает 4 в Python.len(["this"])
однако 1 (1 элемент в списке, таким образом, длина списка равна 1).