Подтвердить что ты не робот

Использование значения переменной в качестве имени столбца в data.frame или cbind

Есть ли способ в R иметь переменную, оцененную как имя столбца при создании фрейма данных (или в подобных ситуациях, например, с использованием cbind)?

Например

a <- "mycol";
d <- data.frame(a=1:10)

создается кадр данных с одним столбцом с именем a, а не mycol.

Это менее важно, чем случай, который поможет мне удалить довольно много строк из моего кода:

a <- "mycol";
d <- cbind(some.dataframe, a=some.sequence)

Мой текущий код подвергается пыткам:

names(d)[dim(d)[2]] <- a;

который является эстетически барратичным.

4b9b3361

Ответ 1

> d <- setNames( data.frame(a=1:10), a)
> d
   mycol
1      1
2      2
3      3
4      4
5      5
6      6
7      7
8      8
9      9
10    10

Ответ 2

Является ли structure(data.frame(1:10),names="mycol") эстетически приятным для вас?: -)

Ответ 3

просто используйте colnames после создания. например,

a <- "mycolA"
b<- "mycolB"
d <- data.frame(a=1:10, b=rnorm(1:10))
colnames(d)<-c(a,b)
d
mycolA     mycolB
 1 -1.5873866
 2 -0.4195322
 3 -0.9511075
 4  0.2259858
 5 -0.6619433
 6  3.4669774
 7  0.4087541
 8 -0.3891437
 9 -1.6163175
 10  0.7642909