我在R中有data.frame
(名称:示例),我从包含15个字段和100516列的csv文件导入。我想用第3列“sample”创建一个新的数据框“sample2”。
sample2 = sample[,3]
当我选中nrow(sample2)
时,结果为NULL
。
但是当我使用head(sample2)
时,我可以看到内容。
答案 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