如何在R中保持字符串的数字部分

时间:2012-09-07 13:36:12

标签: r

以下文字是文字格式的输出。我想使用R保留或仅提取字符串的数字部分。例如,我想从包含下面文本的文件中提取56.1129(作为数字)。我正在逐行阅读文本,并想提取与'1 Animal'相关的值。如果我能将它们转换为列并提取第2行(方差)和第3行(pheno1),那将会很棒。

---------------------------- -------------------------------------
           - - - Results from analysis of BBBt - - -

   1 Animal                   56.1129    
   2 Variance                 47.6055    
   3 pheno1  1                 103.72       0.92562    
Her1        = Animal     1/pheno1     3=          0.5410    0.0162
Notice: The parameter estimates are followed by their approximate standard errors.
----------------------------------------------------------------

1 个答案:

答案 0 :(得分:4)

一种选择是将其视为固定宽度文件并使用read.fwf

txt <- "---------------------------- -------------------------------------
           - - - Results from analysis of BBBt - - -

   1 Animal                   56.1129    
   2 Variance                 47.6055    
   3 pheno1  1                 103.72       0.92562    
Her1        = Animal     1/pheno1     3=          0.5410    0.0162
Notice: The parameter estimates are followed by their approximate standard errors.
----------------------------------------------------------------"

阅读数据:

read.fwf(textConnection(txt), widths=c(4, 23, 10), skip=3, nrows=3)

结果是一个数据框,您可以根据需要进行操作。

  V1                      V2       V3
1  1  Animal                  56.1129
2  2  Variance                47.6055
3  3  pheno1  1              103.7200