R KNI计算机不工作

R KNI计算机不工作,r,missing-data,R,Missing Data,我有以下代码作为示例: df = data.frame(x=c(100:104,NaN,106:110),y=c(200:204,NaN,206:210)) s = preProcess(df,method="knnImpute") 当我使用以下代码使用predict函数时: pre = predict(s,df) R只是崩溃了,我必须重新启动 上面的代码有什么问题?另外,KNIMPUTE是否需要2列才能工作?维护该软件包的Gregory Jefferis解开了谜团:使用KNIMPUTE进行

我有以下代码作为示例:

df = data.frame(x=c(100:104,NaN,106:110),y=c(200:204,NaN,206:210))
s = preProcess(df,method="knnImpute")
当我使用以下代码使用predict函数时:

pre = predict(s,df)
R只是崩溃了,我必须重新启动


上面的代码有什么问题?另外,KNIMPUTE是否需要2列才能工作?

维护该软件包的Gregory Jefferis解开了谜团:使用KNIMPUTE进行预处理会自动删除任何包含NA值的列,因此在预测之前,变量x和y都会丢失。下面是一个不会崩溃的示例。诀窍是在没有NAs的情况下增加几个相关列

x=rnorm(100); y=rnorm(100)
z1 = x+2*y + rnorm(100,sd=0.1)
z2 = 3*x+2 + rnorm(100,sd=0.3)
z2 = 2*y+8 + rnorm(100,sd=0.3)
df = data.frame(x,y,z1,z2)
head(df)
df[25, 1] = NA
df[50, 2] = NA
xform = preProcess(df, method="knnImpute")
predict(xform, df)

请提供函数来自的包的名称。您好,Pascal,抱歉。这个包裹是插入符号。谢谢,谢谢拉贾先生的回复。这很有帮助。如果我理解正确,上面的z1,z2只是虚拟变量。