如何将字符矩阵转换为数字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"