mylist というデータ フレームのリストがあります。リストのヘッダーは人の名前で、データ フレームにはそれらの名前に関連付けられたデータ (日付、身長、体重など) を含む列が含まれます。
names(mylist[1])
[1] "John"
names(mylist[2])
[1] "Susan"
mylist[[1]]
[1] name date hight weight ....
John 1950 1.81 78
John 1948 1.60 60
John 1935 1.50 55
mylist[[2]]
[1] name date hight weight ....
Susan 1985 1.40 40 .
Susan 1995 1.45 60
Susan 1990 1.25 40
各メトリックのボックスプロットを作成したい: 身長のボックスプロット、体重のボックスプロットなど。そして、各メトリックのボックスプロットにすべての人の情報を含めたい。たとえば、ジョン、スーザンなどの情報を含む高さのボックス プロットが必要です。
これがループの試みですが、機能していません。
for(s in 3:21) {
boxplot(x=for(i in 1:99){ mylist[[i]][s]}))
}
こんにちは、私は nograpes ソリューションを適用しました。ただし、彼が提案したコード:
ggplot(melted.df,aes(x=name,y=value)) +
geom_boxplot() + facet_grid(variable~.,scales='free')
各箱ひげ図を互いに積み重ね、最終的に16個の箱ひげ図があるため、プロットを読み取ることができません。したがって、メトリクスごとに 1 つずつ、16 の異なる箱ひげ図を作成することをお勧めします。
私はこれに対する解決策を探していました.1つはこのコードを実行することです:
tomelt<-data.frame(c(daily[1],daily[2],daily[3])) #create a data.frame with variable name, date and the variable to be ploted.
melted.df<-melt(tomelt,id.vars=c('name', 'date')) #convert to long form
ggplot(melted.df,aes(x=name,y=value)) + geom_boxplot() #plot
16回、データフレームの別のメトリック(列)を呼び出すようにコードを変更するたびに...しかし、明らかにこれはまったく効率的ではありません。
これを行うための for ループを作成する方法について何か考えはありますか?