如何只保留R中单个列的数字

问题描述 投票:0回答:1

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

 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)以外的其他内容。我只需要这个号码。

r dataframe numbers extract datalist
1个回答
2
投票

这是一种方法

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
© www.soinside.com 2019 - 2024. All rights reserved.