我使用以下代码从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)中的其他号码。我只需要号码。
答案 0 :(得分: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