问题:如何提取一列数据框并保持其结构不变?
data <- iris
data[, 1] ##this will be a vector and will lose the name of the column in dataframe
答案 0 :(得分:10)
data[, 1, drop = FALSE]
可以解决问题。
答案 1 :(得分:9)
使用将返回数据框的列表子集:
data[1]
可生产
Sepal.Length
1 5.1
2 4.9
3 4.7
4 4.6
5 5.0
6 5.4
# ... omitted rows
当您对数据帧仅使用[
的一个参数时,它会将数据帧设置为列表,其中每列都是一个元素。它还保留了属性,因此数据帧的子集也是一个数据帧。