【发布时间】:2017-09-18 10:26:58
【问题描述】:
我有一个具有唯一行名的数据框。我想根据行名创建一个包含单行的子集数据框。当我使用data[rownames(data)==name, ] 时,我没有得到一个数据框,而是得到一个值向量。该程序是根据行名过滤数据并创建新的数据框。
【问题讨论】:
-
听起来您的方向是正确的,请提供minimal reproducible 示例以获得更多帮助
标签: r
我有一个具有唯一行名的数据框。我想根据行名创建一个包含单行的子集数据框。当我使用data[rownames(data)==name, ] 时,我没有得到一个数据框,而是得到一个值向量。该程序是根据行名过滤数据并创建新的数据框。
【问题讨论】:
标签: r
默认情况下我们需要drop = FALSE,[ 有drop = TRUE。因此,如果只有一行,则将其转换为较低维度,即 vector。
data[rownames(data)==name, , drop = FALSE ]
【讨论】:
您可以使用subset。
set.seed(4577) # Make it reproducible
dat <- data.frame(A = sample(letters, 10), X = rnorm(10))
subset(dat, subset = rownames(dat) == 3)
# A X
#3 j 0.339270
【讨论】: