r - df[i] 有什么作用?

标签 r

我一直在教导的是向量是一维的,而数据框是二维的。因此,向量索引需要一个数字 - 例如 v[1] - 数据帧上的索引需要两个数字 - 例如 df[1, 1]

我正在向https://stackoverflow.com/a/13635514/3625022学习那df[1]例如,实际上显示 df 的第一列。例如,

> x <- data.frame(x = 1, y = 2, z = 3)
> x[1]
  x
1 1
> x[,1]
[1] 1

我注意到这些略有不同,如 x[,1]可能仅指第一列中的条目向量,而 x[1]包括行名称和列名称。

不管怎样,这与我一直在声明的信息相矛盾——数据帧需要两个数字来索引。这种说法是否错误?如果这是正确的,如何向那些刚接触 R 的人解释?为什么x[1]给出第一列 x

最佳答案

数据框是列表。可以肯定的是,这是一种特殊类型的列表,但它们就是列表。 x[1] 是列表的第一个元素。 x[[1]] 是列表第一个元素的内容,当列表是 a 时 x[,1] 也是如此数据框。将输出与显式列表进行比较:

> x <- data.frame(x = 1, y = 2, z = 3)
> x[1]
  x
1 1
> x[[1]]
[1] 1
> x[,1]
[1] 1
> y = list(x=1, y=2, z=3)
> y[1]
$x
[1] 1

> y[[1]]
[1] 1

关于r - df[i] 有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41250200/

相关文章:

c++ - 使用 Rcpp 的 R 快速 cbind 矩阵

r - 如何在 haploNet Haplotype Networks {pegas} 中绘制饼图

r - 消除 plyr 依赖

r - 如何在markdown中部署kable table Latex格式

r - 将参数传递给使用 dplyr R 的函数内的回归模型

Rattle R 未加载数据

r - 如何使用代码更改 RStudio 文件 Pane /导航器中显示的目录?

r - RStudio 和 R 中的运算符 "[<-"

r - 是否有任何包和函数可以在 R 中生成此图像?

r - for循环在r列表中的所有数据框中进行方差分析测试