现有数据帧的列作为R中的新数据帧,但结果为NULL

时间:2014-08-18 17:36:52

标签: r

我在R中有data.frame(名称:示例),我从包含15个字段和100516列的csv文件导入。我想用第3列“sample”创建一个新的数据框“sample2”。

sample2 = sample[,3]

当我选中nrow(sample2)时,结果为NULL

但是当我使用head(sample2)时,我可以看到内容。

1 个答案:

答案 0 :(得分:2)

您的问题是您在nrow上使用vector

如果您希望以这种方式选择单个列时保留data.frame结构,则需要在进行子集化时添加drop = FALSE

考虑以下示例:

## Sample data
mydf <- data.frame(v1 = 1:2, v2 = 3:4)
nrow(mydf)
# [1] 2

## What you did
mydf[, 1]
# [1] 1 2
nrow(.Last.value)
# NULL

## What you wanted to do
mydf[, 1, drop = FALSE]
#   v1
# 1  1
# 2  2
nrow(.Last.value)
# [1] 2