2016-11-06 3 views
0

havenパッケージのread_sav関数を使用してSPSSファイルをインポートします。したがって、列名と関連ラベル(クラスラベル)があります。ヘイブンパッケージのread_savを使用してデータフレームをサブセット化したときのR - 損失ラベル

subsetでデータフレームをサブセット化すると、ラベルが失われました。インデックスdata[i]で回避策を使用できますが、この動作はバグかどうか

ここは簡単な例です。

DataForExample <- structure(list(q0001_0001 = structure(c(2, NA, 5, 4, NA), label = "être plus rapide", class = "labelled", labels = structure(c(1, 
2, 3, 4, 5), .Names = c("non, pas du tout", "non, pas vraiment", 
"oui, un peu", "oui, tout à fait", "je ne sais pas"))), q0001_0002 = structure(c(NA, 
3, NA, 4, 2), label = "être plus fiable", class = "labelled", labels = structure(c(1, 
2, 3, 4, 5), .Names = c("non, pas du tout", "non, pas vraiment", 
"oui, un peu", "oui, tout à fait", "je ne sais pas")))), .Names = c("q0001_0001", 
"q0001_0002"), class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA, 
-5L)) 

View(DataForExample) # OK 
Toto <- subset(DataForExample, select = q0001_0001) 
View(Toto) # NOK : the labels disappeared 
Toto2 <- DataForExample[1] 
View(Toto2) # OK 

おかげ

+0

'DataForExample [" q0001_0001 "]' - 名前でサブセット化することもできます。 – thelatemail

+0

ありがとうございますが、主な質問は残っています。 – Kumpelka

+0

私の指摘は、ラベルを失うことはないと私が示唆するようにサブセット化することです。 – thelatemail

答えて

2

仕分けについてあなたの前の質問と同じ答え。クラスlabelledのサブセット化操作をサポートするパッケージをロードする必要があります。 havenの後にロードする方が良いです。このようなサポートを持つパッケージが少なくとも2つあります:Hmiscexpssです。追加の操作は必要ありません。ちょうどlibrary(expss)またはlibrary(Hmisc)です。

関連する問題