Как напечатать список символов от А до Я? - PullRequest
5 голосов
/ 16 марта 2010

В R, как я могу напечатать список символов от A до Z? С целыми числами я могу сказать:

my_list = c(1:10)
> my_list
 [1]  1  2  3  4  5  6  7  8  9 10

Но могу ли я сделать то же самое с персонажами? например

my_char_list = c(A:Z)
my_char_list = c("A":"Z")

Они не работают, я хочу, чтобы результат был: "A" "B" "C" "D" или разделенный запятыми.

Ответы [ 4 ]

17 голосов
/ 16 марта 2010
LETTERS

"A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P" "Q" "R" "S" "T" "U" "V" "W" "X" "Y" "Z"
12 голосов
/ 16 марта 2010
> LETTERS
 [1] "A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P" "Q" "R" "S" "T" "U" "V" "W" "X"
[25] "Y" "Z"
> letters
 [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x"
[25] "y" "z"
> LETTERS[5:10]
[1] "E" "F" "G" "H" "I" "J"
> 
0 голосов
/ 04 апреля 2019
#' range_ltrs() returns a vector of letters
#'
#' range_ltrs() returns a vector of letters,
#' starting with arg start and ending with arg stop.
#' Start and stop must be the same case.
#' If start is after stop, then a "backwards" vector is returned.
#'
#' @param start an upper or lowercase letter.
#' @param stop an upper or lowercase letter.
#'
#' @examples
#' > range_ltrs(start = 'A', stop = 'D')
#' [1] "A" "B" "C" "D"
#'
#' If start is after stop, then a "backwards" vector is returned.
#' > range_ltrs('d', 'a')
#' [1] "d" "c" "b" "a"
range_ltrs <- function (start, stop) {
  is_start_upper <- toupper(start) == start
  is_stop_upper <- toupper(stop) == stop
  if (is_start_upper) stopifnot(is_stop_upper)
  if (is_stop_upper) stopifnot(is_start_upper)
  ltrs <- if (is_start_upper) LETTERS else letters
  start_i <- which(ltrs == start)
  stop_i <- which(ltrs == stop)
  ltrs[start_i:stop_i]
}
0 голосов
/ 26 августа 2018
strsplit(intToUtf8(c(97:122)),"") 

для a, b, c, ..., z

strsplit(intToUtf8(c(65:90)),"") 

для A, B, C, ..., Z

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...