如何在 R 中仅保留单列中的数字



我使用以下代码从 lapply 函数 (S.list( 的输出重建我的原始数据帧(对于列表中的第一个数据集(,该函数为每个数据列表提供了一个数字。

 data1$S <- S.list[1]

S.list 是从 lapply 函数中提取的,我用它对包含 6 个数据集的列表应用了一个函数,并为列表中的每个数据集获取了一个数字。然后我想为列表中所有 6 个数据集重建原始数据帧。这是我为列表的第一个数据集重建的示例,并将结果保存在 S 列中。但是 S 列返回到这样的内容

       S 
c(`Julia` = 0.245133133918501)
c(`Julia` = 0.245133133918501)
c(`Julia` = 0.245133133918501)
c(`Julia` = 0.245133133918501)
...

那么除了数字(0.245133(之外,我如何删除其他人。我只需要号码。

这是一种方法。

data1=read.table(text="
      S
      'c(`Julia` = 0.245133133918501)'
      'c(`Julia` = 0.245133133918501)'
      'c(`Julia` = 0.245133133918501)'
      'c(`Julia` = 0.245133133918501)'
", header=T, stringsAsFactors=F)
data1$S = as.numeric(sub("(.+= )([0-9\.]+)(.+)", "\2", data1$S, perl = T))
data1$S
# [1] 0.2451331 0.2451331 0.2451331 0.2451331

最新更新