获取R中的第0列数据帧信息

时间:2016-10-19 16:24:46

标签: r vector dataframe

您如何访问此数据框左侧的日期列?

> data
GMT
                Rate
2005-02-28 0.48326866256
2005-04-30 0.64922340405
2005-05-31 0.70036043096
2005-06-30 0.72051442515
.
.
.

如果我输入,

data[ , 1]

...它给了我费率栏。正如所料。

如果我使用,

data[ , 0]

......它不起作用。而且我得到了错误:下标超出范围'。

但如果我这样做,

data[1 , 0]

...我回来了第一次约会。 2005-02-28

这对我来说似乎有点矛盾,我无法提取数据[,0],因为我可以提取数据[,1]并且还可以提取数据[1,0]。

如何提取这些日期值?为什么数据[,0]不起作用?

谢谢,

3 个答案:

答案 0 :(得分:3)

没有第0列。你可能会看到的是行名。您可以通过以下方式访问它们:

rownames(data) # for a matrix-like object
row.names(data) # for a data.frame

但两种方法都可以正常使用。

答案 1 :(得分:0)

首先一般说明,R没有0索引,因此永远不会有第0列。根据数据类型(使用str(数据)获得),您将通过rownames获取日期(数据) )(如果它确实是一个矩阵或data.frame),或通过索引(如果它是一个时间序列,似乎很可能)。

答案 2 :(得分:0)

没有第0列,它被称为rownames,就像我们有列的名称一样,我们有行的名称。

显示iris数据集

的示例
  rownames(iris)

在您的情况下:rownames(data)

您可以创建另一个数据框df,您可以将rownames添加为第一列,然后添加整个数据集,如下所示iris数据集。

  df <- data.frame(cbind(First_col=rownames(iris), iris))
  head(df)

  #  First_col Sepal.Length Sepal.Width Petal.Length Petal.Width Species
  # 1         1          5.1         3.5          1.4         0.2  setosa
  # 2         2          4.9         3.0          1.4         0.2  setosa
  # 3         3          4.7         3.2          1.3         0.2  setosa
  # 4         4          4.6         3.1          1.5         0.2  setosa
  # 5         5          5.0         3.6          1.4         0.2  setosa
  # 6         6          5.4         3.9          1.7         0.4  setosa

避免打印rownames此处创建的df

  print(head(df), row.names=F)
  # First_col Sepal.Length Sepal.Width Petal.Length Petal.Width Species
  #         1          5.1         3.5          1.4         0.2  setosa
  #         2          4.9         3.0          1.4         0.2  setosa
  #         3          4.7         3.2          1.3         0.2  setosa
  #         4          4.6         3.1          1.5         0.2  setosa
  #         5          5.0         3.6          1.4         0.2  setosa
  #         6          5.4         3.9          1.7         0.4  setosa

您可以为数据集实现相同的功能。