Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/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
如何将字符矩阵转换为数字data.frame_R_Matrix - Fatal编程技术网

如何将字符矩阵转换为数字data.frame

如何将字符矩阵转换为数字data.frame,r,matrix,R,Matrix,我有一个字符矩阵和一个字符数据表。当我合并它们时,会创建一个data.frame,但是字符类都转换为因子s,这是我想要避免的。有办法避免吗 df.new<-merge(matrix, df, by= col1) 有没有一种巧妙的方法来处理这种情况?您可以使用参数StringsAsAffactors=FALSE将矩阵转换为data.table。见下文: library(data.table) m <- matrix(letters[1:9], ncol = 3) df <- d

我有一个字符
矩阵
和一个字符
数据表
。当我合并它们时,会创建一个
data.frame
,但是
字符
类都转换为
因子
s,这是我想要避免的。有办法避免吗

df.new<-merge(matrix, df, by= col1)

有没有一种巧妙的方法来处理这种情况?

您可以使用参数StringsAsAffactors=FALSE将矩阵转换为data.table。见下文:

library(data.table)
m <- matrix(letters[1:9], ncol = 3)
df <- data.table(V1 = letters[1:3], a = letters[4:6], b = letters[7:9])
foobar <- merge(as.data.table(m, stringsAsFactors = FALSE), df)
str(foobar)
库(data.table)

可以将矩阵强制为如下数值:
m或
m[]
library(data.table)
m <- matrix(letters[1:9], ncol = 3)
df <- data.table(V1 = letters[1:3], a = letters[4:6], b = letters[7:9])
foobar <- merge(as.data.table(m, stringsAsFactors = FALSE), df)
str(foobar)
Classes ‘data.table’ and 'data.frame':  3 obs. of  5 variables:
 $ V1: chr  "a" "b" "c"
 $ V2: chr  "d" "e" "f"
 $ V3: chr  "g" "h" "i"
 $ a : chr  "d" "e" "f"
 $ b : chr  "g" "h" "i"
 - attr(*, ".internal.selfref")=<externalptr> 
 - attr(*, "sorted")= chr "V1"