Ответ 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
Есть ли способ в 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;
который является эстетически барратичным.
> 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
Является ли structure(data.frame(1:10),names="mycol")
эстетически приятным для вас?: -)
просто используйте 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