调用列中单括号和双括号的区别

Difference between single and double bracket in calling columns

我正在学习 R,希望得到一些澄清。

鉴于此数据框:

myDataset <- data.frame("IDs" = rep(1:10,each = 5),
                        "session" = rep(1:5, times = 10), 
                        "IV" = rnorm(50),
                        "DV" = rnorm(50))

根据您是否使用一组括号,从该数据框中调用第一列有哪些不同用途:

myDataset[1]

或两组括号:

myDataset[[1]]

它们都提供相同的信息,一个以行中列出的数字形式显示,另一个以原始列形式显示。

我只是想了解为什么我可能想要使用一个而不是另一个。

A data.frame 是具有等长列的 list。通过使用 [[,我们将列提取为 vector,而使用 [,得到具有单列或多列的 data.frame。 return a vector with [ 的另一个选项是指定 , 以明确指示它是列索引,默认情况下 drop = TRUE 会被触发data.frame

myDataset[, 1]

如果我们仍然想要 data.frame 单列

myDataset[, 1, drop = FALSE]