0

SPSS またはテキストのデータ ファイルが多数あります。read.spssライブラリからR を使用して SPSS ファイルをインポートすると、使用foreign時に値ラベルが自動的に追加されますuse.value.labels = TRUE。これらはvalue.labels、データ フレームの各列の属性として格納されます。ソース (SPSS またはテキスト) に関係なく、インポートされたオブジェクトの構造の一貫性を維持する必要があります。value.labelsテキスト ファイルからインポートされたデータ フレームの各非数値列 (係数または文字) に、属性とその値を割り当てる必要があります。以下は、テキスト ファイルからインポートされたデータ フレームからの抜粋です。

> mydf <- data.frame(w = factor(c(1, 2, 3)), x = c("fourth", "fifth", "sixth"),
y = c(9.3, 8.8, 2.6), z = factor(c(7, 8, 9)), stringsAsFactors = FALSE)

列ごとに次のことができます。

> attr(mydf$w, "value.labels") <- c(first = "1", second = "2", third = "3")
> attr(mydf$x, "value.labels") <- c(f4 = "fourth", f5 = "fifth", f6 = "sixth")
> attr(mydf$z, "value.labels") <- c(seventh = "7", eighth = "8", ninth = "9")

そして、次を確認します。

> attributes(mydf$w)
$levels
[1] "1" "2" "3"

$class
[1] "factor"

$value.labels
first second  third 
   "1"    "2"    "3" 

ただし、それぞれが多数の列を含む多数のデータ フレームでは、これは効率的ではありません。次のような値ラベルのリストを指定して、自動的にそれを行うことは可能ですか?

> lst.attr <- list(w = c(first = "1", second = "2", third = "3"),
x = c(f4 = "fourth", f5 = "fifth", f6 = "sixth"), z = c(seventh = "7",
eighth = "8", ninth = "9"))
4

0 に答える 0