首页 > 解决方案 > 从使用 dplyr 作为向量生成的 1 x 1 data.frame 中提取单个值?

问题描述

我正在尝试从使用 dplyr 作为向量生成的 1 x 1 data.frame 中提取值

例子

假设我们有

library(dplyr)

df <- iris %>% summarise(ifelse(tally(.) == 150, 1, 0))

df
#   n
# 1 1

我希望df[1,1]返回所需的结果[1] 1(即向量),但它返回的是一个矩阵。

> df[1,1]
     n
[1,] 1

笔记

> data.frame(n=1) -> b
> b[1,1]
[1] 1

标签: rdataframedplyr

解决方案


您可以使用df[[1,1]]

输出

> df[[1,1]]
[1] 1

这是一个简单的例子,解释了它是如何使用测试数据工作的

df1 <- data.frame(a = c(1,2,3), b = c(4,5,6))

输出

> df1['a']
  a
1 1
2 2
3 3
> df1[['a']]
[1] 1 2 3

推荐阅读