R:NAs中的问题由散射图中的强制引入
我正在努力创造这个 但在这样做时,R表示: 在plot.xy(xy,type,…)中:强制引入的NAs` 我将在下面附上我的全部代码:R:NAs中的问题由散射图中的强制引入,r,scatter-plot,ancova,R,Scatter Plot,Ancova,我正在努力创造这个 但在这样做时,R表示: 在plot.xy(xy,type,…)中:强制引入的NAs` 我将在下面附上我的全部代码: lnmass <- MoleRat$lnMass lnenergy <- MoleRat$lnEnergy caste <- MoleRat$caste infrequent <- MoleRat[caste == "lazy", ] frequent <- MoleRat[caste == "wo
lnmass <- MoleRat$lnMass
lnenergy <- MoleRat$lnEnergy
caste <- MoleRat$caste
infrequent <- MoleRat[caste == "lazy", ]
frequent <- MoleRat[caste == "worker", ]
lm.infrequent <- lm(lnEnergy ~ lnMass, data = infrequent) #, subset=caste=="lazy")
lm.frequent <- lm(lnEnergy ~ lnMass, data = frequent)
plot(lnmass, lnenergy, pch = as.numeric(caste), col = as.numeric(caste))
abline(lm.infrequent)
abline(lm.frequent)
为什么不使用
ggplot
ggplot(MoleRat, aes(lnmass,lnenergy, color=caste))+geom_point()+
geom_smooth(method='lm',se=FALSE)+ theme_minimal()
为什么不使用
ggplot
ggplot(MoleRat, aes(lnmass,lnenergy, color=caste))+geom_point()+
geom_smooth(method='lm',se=FALSE)+ theme_minimal()
您可以使用plot执行此操作:
plot(lnEnergy ~ lnMass, MoleRat)
points(lnEnergy ~ lnMass, infrequent, col = "red", pch = 19)
points(lnEnergy ~ lnMass, frequent , col = "red")
abline(lm.infrequent)
abline(lm.frequent)
或(更容易)使用ggplot:
library(ggplot2)
ggplot(MoleRat, aes(x = lnMass, y = lnEnergy, colour = caste)) +
geom_point(size = 2) +
geom_smooth(formula = y~x, method = "lm", se = FALSE) +
theme_classic() +
labs(x = "ln(body mass)",
y = "ln(daily energy expenditure)")
MoleRat$prd <- predict(lm.graph, MoleRat)
ggplot(MoleRat, aes(x = lnMass, colour = caste)) +
geom_point(aes(y = lnEnergy), size = 2) +
geom_line(aes(y = prd), size = 1) +
theme_classic() +
labs(x = "ln(body mass)",
y = "ln(daily energy expenditure)")
但是,您发布的图像是由另一个模型创建的:
lm(lnEnergy ~ lnMass + caste, data = MoleRat)
基于此,您将获得以下图像:
lm.graph <- lm(lnEnergy ~ lnMass + caste, data = MoleRat)
plot(lnEnergy ~ lnMass, MoleRat)
points(lnEnergy ~ lnMass, infrequent, col = "red", pch = 19)
points(lnEnergy ~ lnMass, frequent , col = "red")
lmcoef <- coef(lm.graph)
abline(a = lmcoef[1], b = lmcoef[2])
abline(a = lmcoef[1] + lmcoef[3], b = lmcoef[2])
lm.graph您可以使用绘图:
plot(lnEnergy ~ lnMass, MoleRat)
points(lnEnergy ~ lnMass, infrequent, col = "red", pch = 19)
points(lnEnergy ~ lnMass, frequent , col = "red")
abline(lm.infrequent)
abline(lm.frequent)
或(更容易)使用ggplot:
library(ggplot2)
ggplot(MoleRat, aes(x = lnMass, y = lnEnergy, colour = caste)) +
geom_point(size = 2) +
geom_smooth(formula = y~x, method = "lm", se = FALSE) +
theme_classic() +
labs(x = "ln(body mass)",
y = "ln(daily energy expenditure)")
MoleRat$prd <- predict(lm.graph, MoleRat)
ggplot(MoleRat, aes(x = lnMass, colour = caste)) +
geom_point(aes(y = lnEnergy), size = 2) +
geom_line(aes(y = prd), size = 1) +
theme_classic() +
labs(x = "ln(body mass)",
y = "ln(daily energy expenditure)")
但是,您发布的图像是由另一个模型创建的:
lm(lnEnergy ~ lnMass + caste, data = MoleRat)
基于此,您将获得以下图像:
lm.graph <- lm(lnEnergy ~ lnMass + caste, data = MoleRat)
plot(lnEnergy ~ lnMass, MoleRat)
points(lnEnergy ~ lnMass, infrequent, col = "red", pch = 19)
points(lnEnergy ~ lnMass, frequent , col = "red")
lmcoef <- coef(lm.graph)
abline(a = lmcoef[1], b = lmcoef[2])
abline(a = lmcoef[1] + lmcoef[3], b = lmcoef[2])
感谢您的回复!我们不应该为这个类使用包/附加组件。我可以通过使用as.factorTanks进行响应!我们不应该为这个类使用包/附加组件。我可以用as.factor来做这件事