如何从 R 中的表格中抓取元素。
我的数据如下:
V1 V2
1 12.448 13.919
2 22.242 4.606
3 24.509 0.176
等...
我基本上只是想单独抓取元素。我对所有像
是否有一个我可以像data[v1][1]
那样做的函数并获取第1行第1列中的元素?
答案 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
下,它指出[
i
和j
参数可以是数字,字符或逻辑
所以这些工作:
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