【问题标题】:R does not list row numbers in bracketsR没有在括号中列出行号
【发布时间】:2012-09-13 13:02:56
【问题描述】:

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

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

我明白了:

身份证年
1 1 1944
2 1 1945
3 1 1946

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

谢谢!

【问题讨论】:

  • 你是如何导入表格的?你在用什么功能?您尝试导入的数据采用什么格式。

标签: r brackets


【解决方案1】:

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

如果你在读取csv得到的data.frame上调用as.matrix(),你会得到想要的结果。

例如:

这样的矩阵对象:

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

【讨论】:

  • 嗨 digEmAll,非常好,非常感谢。我意识到我正在使用的包需要矩阵而不是数据帧,这就是为什么我需要按照你的方式转换它们。非常感谢。
猜你喜欢
  • 2016-07-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-18
  • 1970-01-01
相关资源
最近更新 更多