Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.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
替换NaN';一个矩阵的s与R中另一个矩阵的值_R_Matrix_Nan_Na_Missing Data - Fatal编程技术网

替换NaN';一个矩阵的s与R中另一个矩阵的值

替换NaN';一个矩阵的s与R中另一个矩阵的值,r,matrix,nan,na,missing-data,R,Matrix,Nan,Na,Missing Data,我有一个100 x 100的矩阵,其中有1800个缺失值,由NaN表示。我还有一个1800 x 1的矩阵,它包含了所有这些缺失的值。我想将这些值从1800 x 1矩阵插入到第一个矩阵 我试过了 data_matrix[is.na(data_matrix)] <- predicted_values[1,] 预测值 VAL.U:A 65 VAL.W:B 21 VAL.V:C 23.9 VAL.U:D 11.1 VAL.V:D 78 值在预测_值中的排列顺序也可能有帮助:即,预测_值中的值的

我有一个100 x 100的矩阵,其中有1800个缺失值,由
NaN
表示。我还有一个1800 x 1的矩阵,它包含了所有这些缺失的值。我想将这些值从1800 x 1矩阵插入到第一个矩阵

我试过了

data_matrix[is.na(data_matrix)] <- predicted_values[1,]
预测值

VAL.U:A 65
VAL.W:B 21
VAL.V:C 23.9
VAL.U:D 11.1
VAL.V:D 78

值在预测_值中的排列顺序也可能有帮助:即,预测_值中的值的排列方式就像我们从数据_矩阵中第一行的开头移动到第一行的结尾,然后移动到下一行一样。这是应替换NaN值的方式。

使用通过将第一个predval列拆分为第一个(单个)参数构建的两列矩阵“[使用通过将第一个predval列拆分为第一个(单个)参数构建的两列矩阵”[由于
预测的_值
按行然后按列存储值,而矩阵通常按列存储其值,因此应进行换位

a=t(data_matrix)
a[is.na(a)]=predicted_values[,1]
data_matrix=t(a)

由于
predicted_values
按行然后按列存储值,而矩阵通常按列存储其值,因此应进行换位

a=t(data_matrix)
a[is.na(a)]=predicted_values[,1]
data_matrix=t(a)

您是否有一个带有
预测值的data.frame
?还是一个带有行名
VAL.U:a
等的矩阵?
预测值
是一个带有上述行名的矩阵(VAL.U:a)etc.
data\U matrix
是一个具有行名(如a、B等)和列名(如VAL.U等)的矩阵。因此,预测值的行名是用冒号分隔的data\U matrix的列名和行名。如果第二个矩阵中的值已经排序(如示例所示),则
data\U matrix[is.na(data\U matrix)]它根本不起作用,它用重复的值填充NAs,即所有NAN被替换为预测值中的第一个值。根据您的输入示例,它适用于meDo您是否有一个带有
预测值的data.frame
?或者它是一个带有行名
VAL.U:a
等的矩阵?
预测值
是一个带有af的矩阵或提及的行名称(VAL.U:A)等。
data\U matrix
是一个具有行名称(如A、B等)和列名(如VAL.U等)的矩阵。因此,预测值的行名称是数据\U matrix的列名和行名称,用冒号分隔。如果第二个矩阵中的值已经排序(如示例所示)然后
data\u矩阵[is.na(data\u矩阵)]它根本不起作用,它用重复的值填充NAs,即所有NAN都被预测值中的第一个值替换。根据您的输入示例,它适用于meThis。这是一个非常脆弱的策略。它完全取决于预测值对象中值的数量和排序顺序是否完全“同步”使用NA位置。它没有使用第一列中的信息。当我们讨论顺序主题时,为什么不使用be:
a[is.NA(a)]=预测值[,2]
?有人明确告诉我们“在预测值中排列值的顺序也可能有帮助:即,预测值中的值的排列方式就像我们从数据矩阵中第一行的开始移动到第一行的结束,然后移动到下一行。这是NaN值应该被替换的方式。”我利用了这一点。“如果是,为什么不呢?”(a) ]=predicted_values[,2]“-因为predicted_values只有一列。我使用read.table,没有标题,它会被读取为两列,但我现在在注释中看到了这一描述。这是一个非常脆弱的策略。它完全取决于predicted_values对象中值的数字和排序顺序是否完全“同步”“使用NA位置。它没有使用第一列中的信息。当我们讨论顺序主题时,为什么不使用be:
a[is.NA(a)]=预测值[,2]
?这是明确告诉我们的“在预测值中排列值的顺序也可能有帮助:即,预测值中的值的排列方式就像我们从数据矩阵中第一行的开始移动到第一行的结束,然后移动到下一行。这是NaN值应该被替换的方式。”我利用了这一点。“如果是,为什么不呢?”(a) ]=predicted_values[,2]“-因为predicted_values只有一列。我使用read.table,在没有标题的情况下,它被读取为两列,但我现在在注释中看到了该描述。
a=t(data_matrix)
a[is.na(a)]=predicted_values[,1]
data_matrix=t(a)