data.matrix只返回小数后的值,并将R中的负值转换为正值

  • 本文关键字:转换 并将 返回 小数 data matrix r
  • 更新时间 :
  • 英文 :


我有一个数据帧(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"))

最新更新