2017-11-21 3 views
0

をグラフ化し、これはデータのサンプルです:R plotlyライン、私は三つの変数、すなわち性別、年齢とBMIとのデータセットを持って

私はplotlyパッケージ、X軸を使用してRで折れ線グラフを描画しようとしていますBMI値を示し、Y軸は、BMIおよび年齢に対応する値としてAgeおよびGenderプロットの2行を示す。私はこれらのコードを試していますが、適切な出力が得られませんでした。ここに私のコードは

library(plotly) 
data<-read.csv("abc1.csv") 
p <- plot_ly(data, x = ~BMI, y = ~Age, type = 'scatter', mode = 'lines', 
      linetype = ~Gender,line = list(color = 'rgb(205, 12, 24)', width = 4)) %>% 
    layout(title = "Line chart", 
     xaxis = list(title = "Age"), 
     yaxis = list (title = "BMI")) 
p 

であるここに私のコンソール出力は、高度でenter image description here

おかげです。

+0

を探しているホープは、あなたがあなたの質問にあなたのコンソールに何を得るペースト/ dput(データ)とコピーを実行してみてください。そうすれば、私たちはあなたの実際のデータを扱うことができます。 –

+0

dput()関数を試しましたが、適切な出力が得られませんでした。 – Sandeep

答えて

0

あなたが最もフィットする線グラフ

#sample data 
df <- data.frame(Age=c(75.6, 81.9, 81.9,83.2,84.6,84.9,88,89.1), 
       Gender=c('M','F','F','M','M','F','M','M'), 
       BMI=c(16.2,17.3,14.9,19.6,15.5,14.7,15,14.8)) 

gender <- levels(df$Gender) 
col <- c('red','green','blue') 

library(plotly) 
p <- plot_ly() 
for (i in 1:length(gender)) { 
    p <- p %>% 
    add_lines(data = df[df$Gender==gender[i],], 
       x = ~BMI, 
       y = fitted(lm(data = df[df$Gender==gender[i],], Age ~ BMI)), 
       line = list(color = col[i]), 
       name = gender[i]) %>% 
    add_markers(data = df[df$Gender==gender[i],], 
       x = ~BMI, 
       y = ~Age, 
       symbol = ~Gender, 
       marker=list(color = col[i])) 
} 
p %>% 
    layout(xaxis = list(title = "BMI"), yaxis = list(title = "Age"), title="BMI-Age Line Chart") 
+0

@Sandeep質問が解決できるように問題を解決した場合は、[回答を受け入れる](https://stackoverflow.com/help/someone-answers)近いと見なされる。 – Prem

関連する問題