r按名称data.frame返回data.frame调用列

时间:2015-10-02 17:25:34

标签: r dataframe

我知道如何按列名称调用data.frame,但它返回的是数字向量而不是data.frame。如何强制它返回data.frame呢?

data = data.frame(rand1 = rnorm(5, sd = 0.3),rand2 = rnorm(5, sd = 0.3) )

data[,'rand2']

[1]  0.54355118 -0.34235808  0.30914102 -0.06509097  0.29061738

class(data[,'rand2'])

[1] "numeric"

1 个答案:

答案 0 :(得分:0)

从您的示例中,您只需使用

即可
data = data.frame(rand1 = rnorm(5, sd = 0.3),rand2 = rnorm(5, sd = 0.3) )

data[,'rand2',drop=F]

     rand2
1 -0.07895436
2  0.55478780
3 -0.47263459
4  0.17346880
5  0.47885452

class(data[,'rand2',drop=F])
[1] "data.frame"

可以找到data.frames的其他一些好主意here