R studioのplot関数を用いて行でグラフを描きたいです。以下のようなデータを扱っています。
備考 1_2 1_3 1_4 1_5 1_6 1_7 1_8 1_9 1_10 備考
NA 0.1 0.2 0.4 0.3 0.2 0.1 NA NA NA NA
NA 0.1 0.1 0.3 0.2 0.2 0.1 0.1 0.2 0.1 NA
NA 0.1 0.2 0.2 0.2 0.2 0.3 0.4 NA NA NA
NA 0.1 0.1 0.2 0.3 0.3 0.1 0.2 0.1 NA NA
. . .
このような具合で1行目は列名、あとは数値が並んでいますが、2行目以降の1_2から1_10までを行で1行ずつ線をつないでプロットしたいです。(表記的におかしいですが、(x,y)=(0,0), ( 1/2, 0.1),(1/3, 0.2),(1/4,0.4),....,(1/1, NA)次の線は(0,0),(1/2, 0.1),(1/3, 0.1),(1/4, 0.3),...,(1/10, 0.1)の点をプロットしていきたいです。)
・左右は別の数値が入力してあるので110行目から118行目までを使いたいです。
・行の数だけ線が現れるようにしたいです。
・列のはじめは本当は1/2,1/3,...,1/10と表したいですが今のところ読み込めていません。
・xとyのはじめの値は0にしたいです。
以下のように進めると、1/2,1/3,...,1/10を繰り返せていないのでx,yの数が合わないというエラーが出ます。plot(dat)だけにすると、セルの番号がx軸になり、うまくいきません。
x軸を1/2,1/3...に固定してプロットする方法、または1/2,1/3,...,1/10も行とセットで繰り返す方法はありませんでしょうか。
行の数だけ線が現れるようにしたいのでplot関数だけでなく、matplotという関数も使わないといけないのかと思っています。
#n行110行目から118行目までをplot
na.rm = FALSE
a <- nrow(compounds)
k <- 1:a+1
y <- compounds[k,110:118]
dat = c(0,compounds[n,110], compounds[n,111], compounds[n,112],
compounds[n,113], compounds[n,114], compounds[n,115],
compounds[n,116], compounds[n,117], compounds[n,118])
#c()内部だと分数計算しないため
axe1 <- 1/2
axe2 <- 1/3
axe3 <- 1/4
axe4 <- 1/5
axe5 <- 1/6
axe6 <- 1/7
axe7 <- 1/8
axe8 <- 1/9
axe9 <- 1/10
dat2 = c(0,axe1,axe2,axe3,axe4,axe5,axe6,axe7,axe8,axe9)
plot(x = dat2,
y = dat,
type ="l"
)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/29 08:43
2020/05/30 05:48
2020/05/30 06:26
2020/05/30 06:43
2020/05/30 12:16
2020/05/30 13:10
2020/05/30 13:23
2020/05/30 13:55
2020/06/01 02:27
2020/06/01 04:19
2020/06/01 04:20
2020/06/01 07:10