my_data <- read.csv(file='/Users/kaz/Desktop/CW Progress/word_trials.csv', header=TRUE) data30wpm = my_data[my_data$WPM==30,] fit30wpm <- lm(Percent.Correct ~ Day + I(Day^2), data30wpm) print(data30wpm$Percent.Correct) plot(data30wpm$Day, data30wpm$Percent.Correct) abline(fit) data24wpm = my_data[my_data$WPM==24,] fit24wpm <- lm(Percent.Correct ~ Day + I(Day^2), data24wpm) print(data24wpm$Percent.Correct) data32t34 = my_data[my_data$WPM==32 | my_data$WPM==33 | my_data$WPM==34,] fit32t34wpm <- lm(Percent.Correct ~ Day + I(Day^2), data32t34) data36wpm = my_data[my_data$WPM==36,] fit36wpm <- lm(Percent.Correct ~ Day + I(Day^2), data36wpm) library(scatterplot3d) scatterplot3d( x=my_data$Percent.Correct, y=my_data$Day, z=my_data$WPM, xlab='Percent Correct', ylab='Day', zlab='WPM', zlim=c(0,50), angle=55, cex.symbols=.7, pch=16, highlight.3d=TRUE) library(plotly) ### no trend lines plot_ly(z=my_data$Percent.Correct, x=my_data$Day, y=my_data$WPM, marker = list( size = 5 ), name='All', mode = 'lines+markers') %>% add_markers() %>% layout(title="Morse Code - Copying Random words\nSpeed and Accuracy Over time", scene = list(xaxis=list(title="Day"), yaxis=list(title="WPM", range=c(15,40), mirror=FALSE), zaxis=list(title="Correct %"))) plot_ly(z=my_data$Percent.Correct, x=my_data$Day, y=my_data$WPM, marker = list( size = 5 ), name='All', mode = 'lines+markers') %>% add_markers() %>% layout(title="Morse Code - Copying Random words\nSpeed and Accuracy Over time", scene = list(xaxis=list(title="Day"), yaxis=list(title="WPM", range=c(15,44), mirror=FALSE), zaxis=list(title="Correct %"))) %>% add_trace(z=data24wpm$Percent.Correct, x=data24wpm$Day, y=data24wpm$WPM, line = list(color = 'rgb(255,165,0)', tickcolor = 'rgb(255,165,0)', width = 3), name='24 WPM') %>% add_trace(z=fitted(fit24wpm), y=data24wpm$WPM, x=data24wpm$Day, showlegend = FALSE, marker=list(color='rgb(255,165,0)'), line = list(color = 'rgb(255,165,0)', width = 20), name='24wpm Regression') %>% add_trace(z=data30wpm$Percent.Correct, x=data30wpm$Day, y=data30wpm$WPM, line = list(color = 'rgb(255, 0, 0)', width = 3), name='30 WPM') %>% add_trace(z=fitted(fit30wpm), y=data30wpm$WPM, x=data30wpm$Day, showlegend = FALSE, line = list(color = 'rgb(255, 0, 0)', width = 20), marker=list(color='rgb(255, 0, 0)'), name='30wpm Regression') %>% add_trace(z=data32t34$Percent.Correct, x=data32t34$Day, y=data32t34$WPM, line = list(color = 'rgb(0, 230, 0)', tickcolor = 'rgb(0, 230,0)', width = 3), marker=list(color='rgb(0,230,0)'), name='32-34 WPM') %>% add_trace(z=fitted(fit32t34wpm), y=rep(mean(data32t34$WPM),length(data32t34$WPM)), x=data32t34$Day, showlegend = FALSE, line = list(color = 'rgb(0,230,0)', width = 20), marker=list(color='rgb(0,230,0)'), name='30wpm Regression') %>% add_trace(z=data36wpm$Percent.Correct, x=data36wpm$Day, y=data36wpm$WPM, line = list(color = 'rgb(50,165,0)', tickcolor = 'rgb(50,165,0)', width = 3), name='36 WPM') %>% add_trace(z=fitted(fit36wpm), y=data36wpm$WPM, x=data36wpm$Day, showlegend = FALSE, marker=list(color='rgb(50,165,0)'), line = list(color = 'rgb(50,165,0)', width = 20), name='36wpm Regression')