相当于df.值的R



我用这种方式从csv文件读取了一个数字数据帧:

df <- read.csv(path, sep=",", row.names = 1, header=TRUE)

因此,第一行用作标题,第一列用作索引。我想做一些类似于python函数df.values的事情,即返回一个只有数值的矩阵。

我试过

X = matrix(df)
X = data.matrix(df)

但它们都没有返回我想要的内容,例如,我无法通过调用X[1,1]获得第一个数值。

为了澄清,我创建了一个数据框架如下:

首先,我用创建了矩阵

X = matrix(data=c(1,2,3,4,5,6), nrow=3, ncol=2)

然后用对data.frame

df_dummy = data.frame(X, row.names = c("A","B","C"))

我用上面提到的两种方法得到的是:

> X = matrix(df_dummy)
> X[1,1]
[[1]]
[1] 1 2 3

> X = data.matrix(df_dummy)
> X[1,1]
[1] 1
> X
X1 X2
A  1  4
B  2  5
C  3  6

所以X不仅仅是数字,它还有标签。

我想拥有的是我一开始建立的东西,即:

X
[,1] [,2]
[1,]    1    4
[2,]    2    5
[3,]    3    6

四处走走会创建一个空矩阵,并用for循环填充,但最好避免这种情况,找到更有效的方法。

谢谢你的回答,我正在努力用我在python中的知识从头开始学习R

你的意思是?

data.matrix(sapply(df, as.numeric))

无列名:

unname(data.matrix(sapply(df, as.numeric)))

最新更新