如何访问R中表中的单个元素

时间:2011-09-16 18:27:37

标签: r indexing

如何从 R 中的表格中抓取元素。

我的数据如下:

         V1     V2
1      12.448 13.919
2      22.242  4.606
3      24.509  0.176

等...

我基本上只是想单独抓取元素。我对所有像这样的 R 术语感到困惑,我只是希望能够了解各个元素。

是否有一个我可以像data[v1][1]那样做的函数并获取第1行第1列中的元素?

3 个答案:

答案 0 :(得分:27)

这是如此基本,我想知道你用什么书来学习?尝试

data[1, "V1"]  # row first, quoted column name second, and case does matter
尽管最近有人投票,但我对我的措辞并不悔改。 R:https://cran.r-project.org/other-docs.html

为初学者提供了大量免费的介绍性材料

答案 1 :(得分:15)

?"["几乎涵盖了访问元素的各种方式。

在使用中,它列出了这些:

x[i]
x[i, j, ... , drop = TRUE]
x[[i, exact = TRUE]]
x[[i, j, ..., exact = TRUE]]
x$name
getElement(object, name)

x[i] <- value
x[i, j, ...] <- value
x[[i]] <- value
x$i <- value

第二项足以满足您的目的

Arguments下,它指出[ ij参数可以是数字,字符或逻辑

所以这些工作:

data[1,1]
data[1,"V1"]

就像这样:

data$V1[1]

并牢记数据框是一个向量列表:

data[[1]][1]
data[["V1"]][1]

也将起作用。

所以这是一些事情要做。我建议你一次一行输入帮助页面底部的例子(是的,实际上一次输入一行中的所有内容,看看他们都做了什么,你会非常快速地拿起东西,打字而不是复制是帮助将其提交到记忆中的重要部分。)

答案 2 :(得分:1)

也许不如上面的完美,但是我想这正是您想要的。

data[1:1,3:3]    #works with positive integers
data[1:1, -3:-3] #does not work, gives the entire 1st row without the 3rd element
data[i:i,j:j]    #given that i and j are positive integers

此处的索引将从1开始,即

data[1:1,1:1]    #means the top-leftmost element