如何从data.frame中将每列作为data.frame(而不是向量)获取?
通常,当你得到一列时,它是一个向量。如何将其保留为具有相同行名和相应列名的data.frame?使用参数drop=FALSE,如:如何从data.frame中将每列作为data.frame(而不是向量)获取?,r,vector,dataframe,R,Vector,Dataframe,通常,当你得到一列时,它是一个向量。如何将其保留为具有相同行名和相应列名的data.frame?使用参数drop=FALSE,如: mtcars[, 1, drop = FALSE] 如果在子集设置data.frame时指定单个数字,则会得到一列data.frame。这与矩阵子集不同,矩阵子集需要一个“missing”i参数来返回整个列(然后将其转换为向量) mtcars是一个data.frame mtcars[1]#第一列 str(mtcars[1])#仍然是一个data.frame #“d
mtcars[, 1, drop = FALSE]
如果在子集设置data.frame时指定单个数字,则会得到一列data.frame。这与矩阵子集不同,矩阵子集需要一个“missing”
i
参数来返回整个列(然后将其转换为向量)
mtcars是一个data.frame
mtcars[1]#第一列
str(mtcars[1])#仍然是一个data.frame
#“data.frame”:32 obs。第1个变量:
#$mpg:num2122.821.418.718.1144.324.422.819.2。。。
#MTCARS是一个矩阵
MTCARS不使用逗号调用所需的列,即data.frame[,i]使用data.frame[i]将类保留为data.frame,并保留行名称
data.frame[,i] #As a vector
data.frame[i] #As a data.frame
@joran Sorry的可能副本没有看到可能的副本。我会留下我的回答,如果这个问题是封闭的,删除我的答案是没有意义的。@Tylerlinker别担心。这只是一个非常常见的问题,仅此而已。很好,我不知道你可以这么做+1我想这会给我的问题帖子增加一些价值,不应该被关闭:)
data.frame[,i] #As a vector
data.frame[i] #As a data.frame