Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从data.frame中将每列作为data.frame(而不是向量)获取?_R_Vector_Dataframe - Fatal编程技术网

如何从data.frame中将每列作为data.frame(而不是向量)获取?

如何从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

通常,当你得到一列时,它是一个向量。如何将其保留为具有相同行名和相应列名的data.frame?

使用参数drop=FALSE,如:

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