{Hmisc} パッケージを使用して変数ラベルを適用した R のデータセットがあります。しかし、({foreign} パッケージの write.dta 関数を使用して) データセットを Stata にエクスポートすると、変数ラベルが Stata に表示されません。むしろ、変数名は変数ラベルとしても表示されます。データセットには、次のような変数が含まれています。
X1 X2 X3
Stata では、変数に変数名に関連付けられた変数ラベルを付けたいと思います。
X1「州」 X2「一人当たり所得」 X3「人口」
もちろん、R ではなく Stata でラベルを適用できれば、これはすべて簡単ですが、R のみを使用する研究者にコードを提供しようとしています。残念ながら、データをデータ リポジトリに送信する必要があります。これには、データセット ファイル形式が Stata である必要があります。
ここで提供されているコードを変更しようとしました: R の `label attribute` から SPSS の `VARIABLE LABELS` への情報。うまくいきませんでした。
これは私が変数ラベルを生成した方法です:
library(Hmisc)
label(data[,1]) <- "State"
label(data[,2]) <- "Per Capita Income"
label(data[,3]) <- "Population"
Stataにエクスポートするには、これを使用しました:
library(foreign)
write.dta(data,file="C:/Users/Me/Desktop/data.dta")
他の投稿に基づいて、変数ラベルを「固定」するためにこれを試しました:
df<-data
get.var.labels <- function(data){
a<-do.call(llist,data)
tempout<-vector("list",length(a))
for (i in 1:length(a)){
tempout[[i]]<-label(a[[i]])
}
b<-unlist(tempout)
structure(c(b),.Names=names(data))
}
attributes(df)$variable.labels=get.var.labels(df)
そのコードは SPSS にエクスポートするように書かれていたので、うまくいくとは思っていませんでした。それでも、Stata で同じことを行うのに似たようなものを見つけられることを願っています。
どんな助けでも大歓迎です!!
ところで、データ フレームには列名がありますが、データ管理のためにもっとわかりやすい名前にしたかったのです。同時に、元の列名 (基本的には X1、X2、X3) を保持して、研究者が引き続き変数を参照できるようにしたいと考えています。