2013-03-29 17 views
10

データフレームを作成するとき(またはcbindを使用する場合と同様の状況で)変数を列名として評価する方法はありますか?例えばdata.frameまたはcbindの列名として可変値を使用する

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

これはaなくmycolという名前の列を有するデータフレームを作成します。

これは私が私のコードからかなりの数の行を削除役立つ場合よりも重要である:

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

私の現在のコードがあり拷問:

審美的barftasticある
names(d)[dim(d)[2]] <- a; 

+1

あなたは 'COLNAMES(D)[2] <行うことはできません - でもA'または'名(D)[2] < - A'を私は明示的に前者はより安全であることがわかりました。 –

答えて

10
> 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 
7

structure(data.frame(1:10),names="mycol")は審美的にお気楽ですか? :-)

+0

私はupvotersの1人ですが、あなたと私の答えが同じであるかどうかを知りたいと思っていて、彼らはテストと同じものを使用しています。 –

2

作成後は単に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 
関連する問題