これは、stackoverlow に関する私の最初の質問です。正しい質問プロトコルに従っていない場合は、訂正してください。
3 つの時点 (時間 1、時間 2、時間 3) で収集されたデータのグラフを作成しようとしています。これは、列名の先頭にある X1...、X2...、X3... に相当します。 . グラフは、列 $Group によってデータ フレームから分離されています。
グラフの作成に問題はありません。多くの変数 (〜 170) があり、時間 1 と時間 2、時間 2 と時間 3 などを比較したいので、この種のコードを実行するためのショートカットを作成しようとしています。それぞれを個別に入力する必要はありません。
上記のように、変数が記録された時刻を示す X1... X2... のような変数名を作成しました。つまり、X1BCSTCAT = time 1; X2BCSTCAT = 時間 2; X3BCSTCAT = 時間 3. これは私のデータがどのように見えるかの小さなサンプルです:
df <- structure(list(ID = structure(1:6, .Label = c("101","102","103","118","119","120"), class = "factor"),
Group = structure(c(1L,1L,1L,2L,2L,2L), .Label = c("C8","TC"), class = "factor"),
Wave = structure(c(1L, 2L, 3L, 4L, 1L, 2L), .Label = c("A","B","C","D"), class = "factor"),
Yr = structure(c(1L, 2L, 1L, 2L, 1L, 2L), .Label = c("3","5"), class = c("ordered", "factor")),
Age.Yr. = c(10.936,10.936, 9.311, 10.881, 10.683, 11.244),
Training..hr. = c(10.667,10.333, 10.667, 10.333, 10.333, 10.333),
X1BCSTCAT = c(-0.156,0.637,-1.133,0.637,2.189,1.229),
X1BCSTCR = c(0.484,0.192, -1.309, 0.912, 1.902, 0.484),
X1BCSTPR = c(-1.773,0.859, 0.859, 0.12, -1.111, 0.12),
X2BCSTCAT = c(1.006, -0.379,-1.902, 0.444, 2.074, 1.006),
X2BCSTCR = c(0.405, -0.457,-1.622, 1.368, 1.981, 0.168),
X2BCSTPR = c(-0.511, -0.036,2.189, -0.036, -0.894, 0.949),
X3BCSTCAT = c(1.18, -1.399,-1.399, 1.18, 1.18, 1.18),
X3BCSTCR = c(0.967, -1.622, -1.622,0.967, 0.967, 1.255),
X3BCSTPR = c(-1.282, -1.282, 1.539,1.539, 0.792, 0.792)),
row.names = c(1L, 2L, 3L, 4L, 5L,8L), class = "data.frame")
1 つの変数の時間 1 と時間 2 のデータに対して ggplot を使用して 1 つのグラフを作成するための実用的なコードを次に示します。
library(ggplot2)
p <- ggplot(df, aes(x=df$X1BCSTCAT, y=df$X2BCSTCAT, shape = df$Group, color = df$Group)) +
geom_point() + geom_smooth(method=lm, aes(fill=df$Group), fullrange = TRUE) +
labs(title="BCSTCAT", x="Time 1", y = "Time 2") +
scale_color_manual(name = "Group",labels = c("C8","TC"),values = c("blue", "red")) +
scale_shape_manual(name = "Group",labels = c("C8","TC"),values = c(16, 17)) +
scale_fill_manual(name = "Group",labels = c("C8", "TC"),values = c("light blue", "pink"))
だから私は本当に、Rが循環して変数名X1 ...対X2 ...などを照合してグラフを作成する、ある種のショートカットを作成しようとしています。df[,7] と df[,10] などの一致する列番号に基づいてプロットする方法が必要であると仮定し、このプロセスを反復するか、実際に名前を一致させてプロットします (変数名の唯一の違いは番号です)時間を示します)。
私は以前、関数を使用して個々のグラフを作成することを繰り返しましlapply
たが、これをどこから始めればよいかわかりません。