is.na(x)`是一个矩阵,它的维数必须与R中的输入误差相同

is.na(x)`是一个矩阵,它的维数必须与R中的输入误差相同,r,matrix,na,R,Matrix,Na,我试过了 编辑 x也是一个列表 Error in `[<-.data.frame`(`*tmp*`, is.na(x), value = 0) : unsupported matrix index in replacement 3. stop("unsupported matrix index in replacement") 2. `[<-.data.frame`(`*tmp*`, is.na(x), value = 0) 1. `[<-`(`*tmp*`

我试过了

编辑
x
也是一个
列表

Error in `[<-.data.frame`(`*tmp*`, is.na(x), value = 0) : unsupported matrix index in replacement
3.
stop("unsupported matrix index in replacement")
2.
`[<-.data.frame`(`*tmp*`, is.na(x), value = 0)
1.
`[<-`(`*tmp*`, is.na(x), value = 0)


如果x是data.frame对象,则它应该工作:

str(x)
data.frame':    21448 obs. of  4 variables:
 $ item          : chr  "v" "v" "a" "a" ...
 $ E  : num  126.4 126.4 51.7 51.7 51.7 ...
 $ E: num  419 417.6 49 49.3 49 ...
 $ c   : num [1:21448, 1:3] 331.4 330.3 94.8 95.4 94.8 ...
  ..- attr(*, "dimnames")=List of 2
  .. ..$ : NULL
  .. ..$ : chr [1:3] "item" "E" "E"
 - attr(*, "problems")= tibble [5,624 x 5] (S3: tbl_df/tbl/data.frame)
  ..$ row     : int [1:5624] 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 ...
  ..$ col     : chr [1:5624] "Sex" "Sex" "Sex" "Sex" ...
  ..$ expected: chr [1:5624] "1/0/T/F/TRUE/FALSE" "1/0/T/F/TRUE/FALSE" "1/0/T/F/TRUE/FALSE" "1/0/T/F/TRUE/FALSE" ...
  ..$ actual  : chr [1:5624] "m" "m" "m" "m" ...
  ..$ file    : chr [1:5624] "'../data/tables/k.tsv'" "'../data/tables/k.tsv'" "'../data/tables/k_13_08.tsv'" "'../data/tables/k.13_08.tsv'" ...
 - attr(*, "spec")=List of 3
  ..$ cols   :List of 26
  .. ..$ diet_item_id                   : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
  .. ..$ file_name                      : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
  .. ..$ sample                         : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
  .. ..$ time_point.label               : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
  .. ..$ time_point                     : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
  .. ..$ day                            : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
  .. ..$ date                           :List of 1
  .. .. ..$ format: chr ""
  .. .. ..- attr(*, "class")= chr [1:2] "collector_date" "collector"
  .. ..$ St_complet                     : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
  .. ..$ Time                           : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
  .. ..$ Sex                            : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_logical" "collector"
  .. ..$ P                    : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
  .. ..$ item                           : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
  .. ..$ item_id                        : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
  .. ..$ cat                       : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
  .. ..$ subcat                    : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
  .. ..$ descr                     : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
  .. ..$ E                 : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
  .. ..$ database                       : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
  .. ..$ E          : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
  .. ..$ K              : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
  .. ..$ F                         : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
  .. ..$ B                 : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
  .. ..$ G          : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
  .. ..$ E: list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
  .. ..$ A              : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
  .. ..$ E                 : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
  ..$ default: list()
  .. ..- attr(*, "class")= chr [1:2] "collector_guess" "collector"
  ..$ skip   : num 1
  ..- attr(*, "class")= chr "col_spec"

df您能提供一个reprex吗?使用模拟数据创建矩阵时,我无法重现您的错误:
x
str(x)
的输出是什么?是的,我也是,就像我在问题中所说的@Janderkran很明显,这里没有标准的data.frame。
str(x)
data.frame':    21448 obs. of  4 variables:
 $ item          : chr  "v" "v" "a" "a" ...
 $ E  : num  126.4 126.4 51.7 51.7 51.7 ...
 $ E: num  419 417.6 49 49.3 49 ...
 $ c   : num [1:21448, 1:3] 331.4 330.3 94.8 95.4 94.8 ...
  ..- attr(*, "dimnames")=List of 2
  .. ..$ : NULL
  .. ..$ : chr [1:3] "item" "E" "E"
 - attr(*, "problems")= tibble [5,624 x 5] (S3: tbl_df/tbl/data.frame)
  ..$ row     : int [1:5624] 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 ...
  ..$ col     : chr [1:5624] "Sex" "Sex" "Sex" "Sex" ...
  ..$ expected: chr [1:5624] "1/0/T/F/TRUE/FALSE" "1/0/T/F/TRUE/FALSE" "1/0/T/F/TRUE/FALSE" "1/0/T/F/TRUE/FALSE" ...
  ..$ actual  : chr [1:5624] "m" "m" "m" "m" ...
  ..$ file    : chr [1:5624] "'../data/tables/k.tsv'" "'../data/tables/k.tsv'" "'../data/tables/k_13_08.tsv'" "'../data/tables/k.13_08.tsv'" ...
 - attr(*, "spec")=List of 3
  ..$ cols   :List of 26
  .. ..$ diet_item_id                   : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
  .. ..$ file_name                      : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
  .. ..$ sample                         : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
  .. ..$ time_point.label               : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
  .. ..$ time_point                     : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
  .. ..$ day                            : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
  .. ..$ date                           :List of 1
  .. .. ..$ format: chr ""
  .. .. ..- attr(*, "class")= chr [1:2] "collector_date" "collector"
  .. ..$ St_complet                     : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
  .. ..$ Time                           : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
  .. ..$ Sex                            : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_logical" "collector"
  .. ..$ P                    : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
  .. ..$ item                           : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
  .. ..$ item_id                        : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
  .. ..$ cat                       : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
  .. ..$ subcat                    : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
  .. ..$ descr                     : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
  .. ..$ E                 : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
  .. ..$ database                       : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_character" "collector"
  .. ..$ E          : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
  .. ..$ K              : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
  .. ..$ F                         : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
  .. ..$ B                 : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
  .. ..$ G          : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
  .. ..$ E: list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
  .. ..$ A              : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
  .. ..$ E                 : list()
  .. .. ..- attr(*, "class")= chr [1:2] "collector_double" "collector"
  ..$ default: list()
  .. ..- attr(*, "class")= chr [1:2] "collector_guess" "collector"
  ..$ skip   : num 1
  ..- attr(*, "class")= chr "col_spec"
df <- data.frame(a = c(1,2,3), b = c(4,NA,6), c = c(NA, 8, NA))
    
df[is.na(df)] <- 0

> df
  a b c
1 1 4 0
2 2 0 8
3 3 6 0