我有一个数据帧(mydf(,看起来像这个
I II
A 1.2 -2.1
B -2.3 4.2
C 3.8 -6.4
D 4.5 8.7
由于某些原因,这些值不被视为数字。所以我试着用
mydm <- data.matrix(mydf)
解决它。然而,它返回
I II
A 2 1
B 3 2
C 8 4
D 5 7
data.matrix似乎没有其他与此相关的论点,所以我觉得自己陷入了困境。有什么变通办法吗?
我们可以使用
mydm[] <- (abs(mydm)* 10)%% 10
数据
mydf[] <- lapply(mydf, as.numeric)
mydf <- data.matrix(mydf)
mydm <- structure(c(1.2, -2.3, 3.8, 4.5, -2.1, 4.2, -6.4, 8.7), .Dim = c(4L,
2L), .Dimnames = list(c("A", "B", "C", "D"), c("I", "II")))
另一个基本R选项
mydm[] <- lapply(mydm, function(x) as.numeric(gsub("^.*\.", "", x)))
数据
> dput(mydm)
structure(list(I = c(1.2, -2.3, 3.8, 4.5), II = c(-2.1, 4.2,
-6.4, 8.7)), class = "data.frame", row.names = c("A", "B", "C",
"D"))