【发布时间】:2020-06-23 15:48:22
【问题描述】:
在数据帧列表listdf 中,我想确定每个数据帧中浓度列的平均值、最大值、最小值、标准差和行数(值的数量):
mean <- lapply(listdf, function(x) {mean(x$Concentration, na.rm = F)})
max <- lapply(listdf, function(x) {max(x$Concentration, na.rm = F)})
min <- lapply(listdf, function(x) {min(x$Concentration, na.rm = F)})
sd <- lapply(listdf, function(x) {sd(x$Concentration, na.rm = F)})
nbr <- lapply(listdf, function(x) {nrow(x$Concentration, na.rm = F)})
但是,nrow 不适用于 lapply 和函数。如何修改?
另外,是否可以添加(通过lapply 和一个函数或tibble?)额外的第六个分析列表listdf 告诉listdf 中被拒绝的数据帧的数量是“NA “?我知道是因为我在listdf 中选择了所有没有拒绝值的数据帧,但我希望在脚本中添加这一步以进行进一步分析。
nbr_rejected <- lapply(listdf, ??? "NA")
(nbr_rejected="NA")
【问题讨论】:
-
尝试
sum(!is.na(x$Concentration))而不是nrow(x$Concentration, na.rm = F) -
我不太明白第二个问题是什么。你能详细说明一下吗?
-
感谢您的帮助。我试图详细说明第二个问题。从我的数据框列表
listdf中,我现在有 5 个列表,给出了每个 DF 的浓度列的平均值、最大值、最小值……。现在我希望有第六个列表,告诉每个 DF 中被拒绝的值的数量是“NA”。这不是特定值的计算 per se ,只是一个列表,每次字符“NA”时都有一个列表(nrow=listdf中的 DF 数) -
这是每个数据帧中 NA 的数量吗?
-
不,想象一下,我想添加另一个列表(1 列,nrow=length of
listdf),每次为每一行写上字符“天空是蓝色的”