矩阵不被视为数字 R

Tom*_*m A 5 r matrix dataframe

所以我将数据帧转换为 as.matrix(df):

m<-as.matrix(df)
Run Code Online (Sandbox Code Playgroud)

但是之后:

> is.numeric(m)
[1] FALSE
Run Code Online (Sandbox Code Playgroud)

我什至试图看看矩阵中的某个单一因素是否是数字:

> is.numeric(m[15,15])
[1] FALSE
Run Code Online (Sandbox Code Playgroud)

还有其他人发生过这种情况吗?

Ric*_*rta 4

使用

dims <- dim(m)
m <- as.numeric(m)
dim(m) <- dims    
Run Code Online (Sandbox Code Playgroud)

可能想将上面的内容包装在一个函数中


as.matrix不一定将任何任意 data.frame 转换为数字。
例如:

x <- data.frame(LETTERS)
m <- as.matrix(x)
is.numeric(x) 
# [1] FALSE
is.character(x) 
# [1] TRUE
Run Code Online (Sandbox Code Playgroud)