0

「Data」で定義されたデータ フレームと、このデータ セットの 2 つのサブセット (scale1、scale2) があります。毎回スケールを定義することなく、このスケールを性別、次に国別にプロットしたいと思います。Rでそれが可能であることは知っていますが、初心者の質問かもしれませんが、それを行うロジックが見つかりません。検索しましたが、欲しいものが見つかりません。誰かがそのデータ管理の手がかりを私に与えることができれば(プロットのためではありません)、私はとても感謝しています.

単純な DataFrame を使用すると、サブセットを毎回簡単に定義できる可能性があることはわかっていますが、元の DataFrame には多くのアイテムがあり、この方法で操作するのは困難です。

Data<- data.frame(item1=c(1, 2, 3, 4, 5, 1, 2, 3, 4, 5, NA, 5, NA, NA), 
                  item2=c(1, 2, 2, 4, 1, 1, 2, 3, 5, 5, NA, NA, NA, NA),
                  item3=c(1, 2, 2, 4, 1, 1, 2, 3, 5, 5, NA, NA, NA, NA),
                  item4=c(1, 2, 2, 4, 1, 1, 4, 3, 1, 5, NA, 3, NA, NA),
                  item5=c(1, 5, 2, 4, 2, 1, 2, 3, 5, 5, NA, NA, 1, NA),
                  item6=c(1, 2, 3, 4, 5, 1, 2, 3, 4, 5, NA, 5, NA, NA), 
                  item7=c(1, 2, 1, 5, 1, 2, 2, 3, 5, 5, NA, NA, NA, NA),
                  item8=c(1, 4, 2, 4, 3, 1, 2, 8, 5, 5, NA, NA, NA, NA),

                  gender=c(1, 2, 1, 2, 2,1, 2, 1, 2, 1, 1, 2, 1, 2), 
                  country=c(1, 2, 3, 3, 1,1, 2, 1, 3, 1, 3, 2, 1, 2))

scale1 <- subset(Data, select=c(item1, item2, item3, item4))
scale2 <- subset(Data, select=c(item5, item6, item7, item8))

今、プロットのために私はこの指示を使用していますが、それを行うための別のより良い方法があると確信しています:

 womandata <- Data[ which(Data$gender== "1"), ]

scale1F <-subset(womandata, select= c( item1, item2, item3, item4))
scale2F <-subset(womandata, select= c( item5, item6, item7, item8))



mandata <- Data[ which(Data$gender== "2"), ]

scale1M <-subset(mandata, select= c( item1, item2, item3, item4))
scale2M <-subset(mandata, select= c( item5, item6, item7, item8))

par(mfrow=c(2,1)) 

boxplot(scale1F, xlab="", xaxt = "n", col="gray", main="Woman")
text(1:34, par("usr")[1], 
     srt=45, pos=1, xpd=TRUE, offset=-1)

boxplot(scale1M, xlab="", xaxt = "n", col="gray", main ="Man")
text(1:34, par("usr")[1],
     srt=45, pos=1, xpd=TRUE, offset=-1)

ここに画像の説明を入力

幸運をお祈りしています、

アングロ

4

1 に答える 1

1

あなたの目的はまだわかりませんが、これが役立つかもしれません:

female <- Data$gender == 1
scale1 <- names(Data) %in% c("item1", "item2", "item3", "item4")

boxplot(Data[female, scale1], xlab="", xaxt = "n", col="gray", main="Woman")
boxplot(Data[!female, scale1], xlab="", xaxt = "n", col="gray", main="Man")
于 2014-11-10T13:51:58.650 に答える