- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
! 変数にラベルをつける
データフレームの変数名は、一応、日本語(漢字など)でも支障ないようだが、パッケージで日本語に対応していないものがあるため、結局はアスキー文字にせざるを得ない。
そういうときに、漢字の情報量にまさる変数名をアスキー文字でつけるのはなかなか厳しいものがあるので、変数名に対応する情報をラベルづけしておきたい。
! labelledパッケージの、var_label()を使う。
> install.packages("labelled")
> library(labelled)
> labelled::var_label(iris) <- list(
+ Species = "学名",
+ Sepal.Length = "萼長",
+ Sepal.Width = "萼幅",
+ Petal.Length = "花弁長",
+ Petal.Width = "花弁幅"
+ )
とすれば、下記のように、attrでlabel属性がつく。これは、attr()でもできる。
> str(iris)
'data.frame': 150 obs. of 5 variables:
$ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
..- attr(*, "label")= chr "萼長"
$ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
..- attr(*, "label")= chr "萼幅"
$ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
..- attr(*, "label")= chr "花弁長"
$ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
..- attr(*, "label")= chr "花弁幅"
$ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
..- attr(*, "label")= chr "学名"
! 表示
expss::use_labels(df, var)が使える。
> use_labels(
iris,
..data %>% ggplot(aes(x = Sepal.Length, y = Sepal.Width, color = Species)) + geom_point()
> use_labels( iris, ..data %>%
ggplot(aes(x = Sepal.Length, y = Sepal.Width, color = Species)) + geom_point()
)
:参考:
このやり方は、r-wakalangのill_identifiedさんに教わった。感謝!
* http://ill-identified.hatenablog.com/entry/2020/03/30/013939