Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 分位数错误。默认值(剩余值):缺少值,不允许使用NaN_R_Linear Regression - Fatal编程技术网

R 分位数错误。默认值(剩余值):缺少值,不允许使用NaN

R 分位数错误。默认值(剩余值):缺少值,不允许使用NaN,r,linear-regression,R,Linear Regression,我试图预测给定特定行数和列数的模型训练sklearn线性回归所需的时间。我还创建了其他功能,比如通过获取行数和列数的对数和平方 我已经粘贴了数据。如您所见,数据集没有缺失值或NaN值 我尝试使用下面的代码,使用lm函数在R中运行线性回归模型- library(data.table) df = fread(linreg_df_edited.csv) lrmodel <- lm(time ~ rows + columns + volume + rows_log + columns_log +

我试图预测给定特定行数和列数的模型训练sklearn线性回归所需的时间。我还创建了其他功能,比如通过获取行数和列数的对数和平方

我已经粘贴了数据。如您所见,数据集没有缺失值或NaN值

我尝试使用下面的代码,使用lm函数在R中运行线性回归模型-

library(data.table)
df = fread(linreg_df_edited.csv)
lrmodel <- lm(time ~ rows + columns + volume + rows_log + columns_log + volume_log + row_sq + col_sq, data = df)
我的数据集没有任何缺失值,但在设置na.action=na.omit后,我仍然尝试并重建了模型

我仍然会犯同样的错误。我想不出来。我想a列可能被读取为字符变量。但事实并非如此


知道为什么会发生这种情况吗?

不要试图一次对所有转换建模。你的电话是:

model <- lm(time ~ rows + columns + volume + rows_log + columns_log + volume_log + row_sq + col_sq, data = df)
相反,要:

model_lin <- lm(time ~ rows + columns + volume, data = df)
model_log <- lm(time ~ rows_log + columns_log + volume_log, data = df)
model_sq <- lm(time ~ row_sq + col_sq, data = df)

然后你会发现正方形是个问题。他们正在生成NaN值

我明白了。由于某种原因,R错误地读取了行_sq的数据。在读取数据后,行_sq'列中是否也会出现10^-15的条目?我将行数据除以1000,然后重新运行模型。现在可以用了。@ClockSlave哦,太好了!很高兴你能以这种方式找到问题!是的,同样的缩放也适用于这里。如果它显示了问题所在,请随意将其标记为答案:您在编辑中添加的解释可能有点不正确。我不得不更改Excel中的数据,因为r一直读取错误。这可能是因为原始值太大。在源代码处缩小它们的规模并将其读回可以解决这个问题。再也没有错误了。@ClockSlave的改变在我这边解决了它。你试过了吗?没有。你在这里发布的数据是正确的。当我读入数据时,我得到这个-。请参见第四行第四列。我想可能是因为值太大了。所以我将它们缩小1000倍,然后再次读取数据。R在缩放操作后正确读取数据。
model <- lm(time ~ rows + columns + volume + rows_log + columns_log + volume_log + row_sq + col_sq, data = df)
model_lin <- lm(time ~ rows + columns + volume, data = df)
model_log <- lm(time ~ rows_log + columns_log + volume_log, data = df)
model_sq <- lm(time ~ row_sq + col_sq, data = df)