プロットを含む名前付きリストを作成したいと思います。すべての情報を含むマスターデータフレームをフィルタリングするために使用する一意のIDを含むベクトルからリストを作成します。ggplotsを新規リストに作成して既存リストの名前で追加する機能
次に、lapplyでユニークIDのリストをループして、マスタデータフレームをフィルタリングしてプロットを作成するための関数を用意しました。次に、各プロットを(最初に)初期化されたリストに追加したいので、リスト項目の名前をlapplyで渡されたリスト値と等しくしたいと思います。
以下のコードはプロットを作成しますが、追加されたリストには、渡されたリストID値の対応する名前がありません。
私は間違ったアプローチをしていますか?私は名前(リスト)などを使用する質問/答えを見ましたが、lapplyに渡されたリストには名前が付けられません。新しいリストの名前になるようにリスト項目を渡します。
ありがとうございます!
library(ggplot2)
library(dplyr)
unique_names = as.list(c("apple", "banana", "carrots"))
listy = list()
dframe = data.frame(x_var = seq(1:9)) %>%
mutate(y_var = x_var^3)
temp = data.frame(id = c("apple", "apple", "apple", "banana", "banana", "banana", "carrots", "carrots", "carrots"))
dframe = bind_cols(dframe,
temp)
fun_plots = function(my_list,
my_df,
my_appending_list) {
a = filter(my_df,
id == my_list)
plt = ggplot() +
geom_line(data = a,
aes(x = x_var,
y = y_var))
my_appending_list$my_list = plt
}
plot_list = lapply(unique_names,
fun_plots,
my_df = dframe,
my_appending_list = listy)
lapplyはalistに 'fun_plots'を設定していますので、' listy'は必要ありません...ありがとう! 'fun_plots'の中でリスト要素の名前を設定する方法はありますか?私はlapplyが 'fun_plots'を使ってリスト要素を作成しているからではないと思います...それは正しい考えですか? – Prevost