以下文字是文字格式的输出。我想使用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.
----------------------------------------------------------------
答案 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