R数据帧子集一列到数据帧(不是向量)

S12*_*000 2 r subset dataframe

我有一个简单的x数据帧

x <- matrix(rnorm(20, 1), ncol = 3)
colnames(x) <- c("one", "two", "three")
x <- as.data.frame(x)
Run Code Online (Sandbox Code Playgroud)

我想将x数据帧的第一列子集化为数据帧对象.

如果我这样做,x[,1] 我会得到一个矢量.但是,我想获得一个数据帧.

是否有一种简单的方法可以将其转换为1列数据帧并保留colname?

akr*_*run 5

我们既可以使用也可以,预先设置data.frame结构

x[1]
Run Code Online (Sandbox Code Playgroud)

或者如果我们使用,,drop=FALSE参数应该是默认值drop = TRUE.在subset它是drop=FALSE默认情况.

x[,1, drop = FALSE]
Run Code Online (Sandbox Code Playgroud)