1

我有一个妨碍我分析的问题。出于某种奇怪的原因,每当我导入表格(csv、文本等)时,我永远不会让行号出现在括号中。而不是这个:

>ID Year  
[1,]  1 1944  
[2,]  1 1945  
[3,]  1 1946  

我明白了:

ID 年份
1 1 1944
2 1 1945
3 1 1946

问题是 R 最终使用第一列 (1,2,3) 作为 ID 并破坏了分析。有任何想法吗?

谢谢!

4

1 回答 1

3

您的“用括号中的行号打印的对象”可能是 a matrix,而从 csv 读取时您会得到一个data.frame.

如果您通过阅读 csv 来调用as.matrix()data.frame获得的信息,您将获得所需的结果。

例如:

像这样的矩阵对象:

m1 <- matrix(c(1,1,1,1944,1945,1946),nrow=3,ncol=2)
colnames(m1) <- c('ID','Year')

m1

产量:

> m1
     ID Year
[1,]  1 1944
[2,]  1 1945
[3,]  1 1946

从 csv 读取相同数据时:

m2 <- read.csv(text="ID,Year
1,1944
1,1945
1,1946")

m2

你得到:

> m2
  ID Year
1  1 1944
2  1 1945
3  1 1946

将 m2 转换为矩阵:

m3 <- as.matrix(m2)
m3

你得到这个:

> m3
     ID Year
[1,]  1 1944
[2,]  1 1945
[3,]  1 1946
于 2012-09-13T13:19:06.837 回答