R,一个数据帧的列表,lapply之后,结果存储也作为一个数据框的列表,如何让结果存储在原点名称中



R,一个数据帧的列表,在lapply某个命令之后,结果存储也作为数据帧列表,但我如何让结果存储在每个单个数据帧中,并使用与原点相同的名称。

例如:
我有17个数据帧,它们都是有100个观测值和50列的数据帧。我想删除第6列,并将结果存储到原始名称中。

所需输出:

之前:datanew_V102 100个观测值和50列

datanew_V103 100个观测值和50列

datanew_V105 100个观测值和50列

之后:datanew_V102 100个观测值和49列

datanew_V103 100个观测值和49列

datanew_V105 100个观测值和49列

我的代码是这样的:

datalist = list(datanewV_102,datanewV_103,datanewV_105,datanewV_107,datanewV_108,datanewV_112,
datanewV_114,datanewV_115,datanewV_118,datanewV_121,datanewV_122,datanewV_126,datanewV_128,
datanewV_183,datanewV_90,datanewV_95,datanewV_99)
remove_col6 <- function(df){
df[-6]
}
output_list <- lapply(datalist, remove_col6)

它将output_list作为17个数据帧的列表。但如果我想调用第一个数据帧,我需要使用output_list[1]。我应该如何将datalist中的原始名称分配给output_list中的数据帧。

因此,所有数据帧有100个观测值和49列datanewV_102=输出列表[1]

datanewV_103=输出列表[2]

datanewV_105=输出列表[3]

datanewV_114=输出列表[7]

datanewV_99=输出列表[17]

我应该如何写入一行代码才能得到上面的结果?

谢谢。

如果我们需要将输出分配回对象,我们可以使用list2env(但不建议使用,因为我们可以在list本身中进行所有转换(

names(output_list) <- ls(pattern = '^datanewV_\d+$')

或者如果订单是重要的

names(output_list) <- c('datanewV_102','datanewV_103','datanewV_105','datanewV_107','datanewV_108','datanewV_112',
'datanewV_114','datanewV_115','datanewV_118','datanewV_121','datanewV_122','datanewV_126','datanewV_128',
'datanewV_183','datanewV_90','datanewV_95','datanewV_99')

现在使用list2env

list2env(output_list, .GlobaleEnv)

最新更新