1. 解决R语言出现“二进列运算符中有非数值参数”的错误
做逻辑回归时出现上述报错,检查后发现,是因为response因变量的类型为char,无法直接进行回归分析。解决方案:在数据框中新增一列,将response的值按照分类规则改为0或1.
new_column<-rep()
for (i in 1:(length(D$offertype))){
if (D$offertype[i] =="Offer" ){
new_column[i]<-1
}
else{
new_column[i]<-0
}
}
D[,offerlevel:=new_column]
pred.cv<-function(D,k){
# 将样本分为k折(给编号1到nrow(D)的样本标记为1,2,...,k)
ind = sample(1:k,nrow(D),replace = T)
pred_cv = rep(0,nrow(D))
for (i in 1:k){
ii = which(ind==i)
obj = glm(offerlevel~toefl+regularized_gpa+season+CollegeRankTop50+type,data = D[-ii,])
#用得到的线性模型obj对response做预测,结果储存在pred_cv中
print(summary(obj))
pred_cv[ii]=predict(obj,D[ii,])
}
return(pred_cv)
}
pred_cv<-pred.cv(D,5)
s<-unlist(summary(pred_cv))
p<-s["Mean"]
num_test<-as.integer(pred_cv>p)
2. 在RStudio中用install.package()命令报错:“载入了名字空间‘xxxx’0.9.0,但需要的是>=1.0.0”
问题是名字空间的版本过低,但是用update.packages()命令和install命令都提示“找不到对象”。一气之下直接去到清华镜像源的网站,手动下载包。
CRAN Packages By Date (tsinghua.edu.cn)https://mirrors.tuna.tsinghua.edu.cn/CRAN/web/packages/available_packages_by_date.html
在目录里找到要下载的R包,进入详情页后找到download部分的链接下载即可。
下载后的压缩包无需解压,直接在RStudio中输入以下代码即可安装
install.packages("C:/Users/lenovo/Desktop/vctrs_0.6.4.tar.gz")
如果提示安装失败,可能是因为现有的R包正在被RStudio占用着,无法卸载,也就无法安装较新的包。对此,可以先将现有的R包删除。
先输入命令
.libPaths()
在文件夹中找到要删除的R包,直接删除该包对应的整个文件夹即可。
3.WARNING: Rtools is required to build R packages, but is not currently installed.
下载安装RTools即可。
RTools: Toolchains for building R and R packages from source on Windows (r-project.org)