这个R代码抛出警告
# Fit regression model to each cluster
y <- list()
length(y) <- k
vars <- list()
length(vars) <- k
f <- list()
length(f) <- k
for (i in 1:k) {
vars[[i]] <- names(corc[[i]][corc[[i]]!= "1"])
f[[i]] <- as.formula(paste("Death ~", paste(vars[[i]], collapse= "+")))
y[[i]] <- lm(f[[i]], data=C1[[i]]) #training set
C1[[i]] <- cbind(C1[[i]], fitted(y[[i]]))
C2[[i]] <- cbind(C2[[i]], predict(y[[i]], C2[[i]])) #test set
}
Run Code Online (Sandbox Code Playgroud)
我有一个训练数据集(C1)和一个测试数据集(C2).每个都有129个变量.我做了k意味着对C1进行聚类分析,然后基于聚类成员分割我的数据集,并创建了不同聚类的列表(C1 [[1]],C1 [[2]],...,C1 [[k] ]).我还为C2中的每个案例分配了一个集群成员资格,并创建了C2 [[1]],...,C2 [[k]].然后我对C1中的每个簇进行线性回归.我的因变量是"死亡".我的预测变量在每个群集中都不同,变量[[i]](i = 1,...,k)显示了预测变量名称列表.我想为测试数据集中的每个案例预测死亡(C2 [[1]],...,C2 [[k]).当我运行以下代码时,对于某些集群.
我收到了这个警告:
In predict.lm(y[[i]], C2[[i]]) :
prediction from a rank-deficient …Run Code Online (Sandbox Code Playgroud) 我有一个超过1亿行的非常大的数据集.我在该数据集上运行循环.该代码自两天前开始运行,我忘了添加一个计数器,看看剩下多少时间.我在一个桌子先到先得的地方工作,所以你不能有一个特定的桌子,每天结束时,你必须退出系统.我的问题是如果我退出系统,我将失去两天的工作.有什么办法可以暂停R,退出我的系统,明天早上回来继续我的工作吗?我正在使用UNIX.如果有人可以帮助我,我感激不尽.
此致,Mahsa