Для большинства базовых структур данных в R можно одновременно назначать значения и имена. Например:Назначение имен вектору при создании экземпляра
l <- list(a=1:3, b=4)
m <- matrix(1:9, 3, 3, dimnames=list(letters[1:3], letters[1:3]))
d <- data.frame(a=1:5, b=letters[1:5], c=rnorm(5))
Однако для векторов это разные. Насколько я знаю, единственный способ дать names
к вектору впоследствии:
v <- 1:3
names(v) <- letters[1:3]
c
не имеют аргументы, которые позволяют указать names
в конкретизации.
Попытка сделать это при назначении (например, в lists
или data.frames
) также не работает:
v <- c("a"=1) # error
Можно ли назначить и данные, а также имена вектора в то же время?
Но ты не пробовал как вы делали, когда вы создали список и data.frame: 'v <- c (a = 1)' или 'v <- setNames (1," a ")' –
, какую ошибку вы получаете при запуске 'c ("а" = 1) '? – GSee
Оказывается, я попробовал 'c (буквы [1: 3] = 1: 3)', и это дало ошибку, но 'c (" a "= 1)' works (и расширения 'c (" a "= 1 , "b" = 2, ...) '. Но ответ @JoshuaUlrich гораздо удобнее –