【问题标题】:R get value from summary()R从summary()中获取值
【发布时间】:2016-12-09 09:01:21
【问题描述】:

请注意,我的 R 技能很差...我的 DS 数据结构如下所示:

 loc anno.2013 anno.2014
1    1       1.9       1.9
2    2       0.8       1.0
3    3       1.4       1.0
4    4       2.4       1.9
5    5       1.5       1.7
6    6       2.3       2.2
7    7       1.0       1.2
8    8       0.8       1.1
9    9       1.2       0.9
10  10       0.7       0.9
11  11       0.9       1.2
12  12       1.1       1.5

对它应用 summary() 函数,我得到以下结果:

> s<- summary(loc.dolomiti)
> s
     loc          anno.2013       anno.2014    
Min.   : 1.00   Min.   :0.700   Min.   :0.900  
1st Qu.: 3.75   1st Qu.:0.875   1st Qu.:1.000  
Median : 6.50   Median :1.150   Median :1.200  
Mean   : 6.50   Mean   :1.333   Mean   :1.375  
3rd Qu.: 9.25   3rd Qu.:1.600   3rd Qu.:1.750  
Max.   :12.00   Max.   :2.400   Max.   :2.200 

我需要从第 2 列 (anno.2013) 中提取 Min 值,即 0.7,但 s[7]s[[7]] 命令都返回 "Min :0.700 " 字符串。

如何获得这个浮点值?谢谢

【问题讨论】:

  • 为什么不min(loc.dolomiti$anno.2013)
  • 我的大学测试要求从 summary() 中提取它
  • as.numeric(gsub('\\D+', '', summary(df)[1,2]))
  • @Sotos,使用你的指令,结果不是我所期望的......我的意思是:&gt; as.numeric(gsub('\\D+', '', s[1,2]))[1] 700&gt; as.numeric(gsub('\\D+', '', s[4,2]))[1] 1333&gt; as.numeric(gsub('\\D+', '', s[5,2]))[1] 31600
  • 试试as.numeric(gsub('.*:', '', summary(df)[1,2]))

标签: r summary


【解决方案1】:

我们可以尝试sub 函数和正则表达式来捕获冒号之后的所有内容,即

as.numeric(sub('.*:', '', summary(df)[1,2]))
#[1] 0.7

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-20
    • 1970-01-01
    • 1970-01-01
    • 2015-03-19
    • 1970-01-01
    • 1970-01-01
    • 2014-06-30
    相关资源
    最近更新 更多