将数据框列表套用到子集并覆盖dfs

埃里克·格林

我正在尝试对每个数据框进行子集化,以排除第一列为NA或“”的行。我尝试将数据框放入列表中df,然后lapply在每个数据框上使用。该代码有效,只是我不确定如何用子集覆盖每个数据框。

df1 <- data.frame(v1=c(1, 2, 3, NA, NA, NA), v2=rep(1, 6))
df2 <- data.frame(v11=c(2, 3, 4, 5, NA, ""), v22=rep(1, 6))
df3 <- data.frame(v111=c(3, 4, 5, 6, 7, NA), v222=rep(1, 6))

df <- list(df1=df1, df2=df2, df3=df3)
df

$df1
# v1 v2
# 1  1  1
# 2  2  1
# 3  3  1
# 4 NA  1
# 5 NA  1
# 6 NA  1
# 
# $df2
# v11 v22
# 1    2   1
# 2    3   1
# 3    4   1
# 4    5   1
# 5 <NA>   1
# 6        1
# 
# $df3
# v111 v222
# 1    3    1
# 2    4    1
# 3    5    1
# 4    6    1
# 5    7    1
# 6   NA    1

lapply(names(df), function(x) df[[x]][!(is.na(df[[x]][,1]) | df[[x]][,1]==""), ])

# [[1]]
# v1 v2
# 1  1  1
# 2  2  1
# 3  3  1
# 
# [[2]]
# v11 v22
# 1   2   1
# 2   3   1
# 3   4   1
# 4   5   1
# 
# [[3]]
# v111 v222
# 1    3    1
# 2    4    1
# 3    5    1
# 4    6    1
# 5    7    1

最后,df3例如,我希望如下所示:

df3
#  v111 v222
#1    3    1
#2    4    1
#3    5    1
#4    6    1
#5    7    1
大卫·阿伦堡

您可以简化lapply为以下格式(以便也保留数据框的名称)

df <- lapply(df, function(x) x[!(is.na(x[1]) | x[1] == ""), ])

然后使用list2env为了使您的数据帧回到全局环境

list2env(df, .GlobalEnv)

然后,您只需检查一下新的数据框

df1
##   v1 v2
## 1  1  1
## 2  2  1
## 3  3  1

等等。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将子集功能应用于数据框列表

来自分类Dev

如何将套用应用于数据列表控件

来自分类Dev

包含特定列名的数据框的子集列表

来自分类Dev

子集并将列表转换为数据框

来自分类Dev

基于列表对象的子集数据框

来自分类Dev

R:for循环或套用到命名列表的某些元素

来自分类Dev

数据框列的套用和套用之间的区别?

来自分类Dev

使用列表理解时覆盖数据框

来自分类Dev

根据列类对列表内的数据框进行子集

来自分类Dev

基于行或列匹配的多个数据框的子集列表

来自分类Dev

从数据框中选择列列表以转换为子集

来自分类Dev

根据列表中的元素对数据框进行子集

来自分类Dev

基于列表对 Python 3.x 数据框进行子集

来自分类Dev

使用列表对大型数据框进行子集化

来自分类Dev

通过方括号将字符串套用至子集[]

来自分类Dev

使用条件将列表中的数据框处理为子集行,使用R处理另一个数据框

来自分类Dev

更新数据框的子集

来自分类Dev

选择数据框的子集

来自分类Dev

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

来自分类Dev

将函数应用于数据框r的子集

来自分类Dev

无法将列名称设置为数据框的子集

来自分类Dev

从循环中计算函数以将其应用到数据框列表中

来自分类Dev

按列对数据框进行子集化并返回这些子集的列表

来自分类Dev

根据另一个数据框/列表在数据框中的列子集

来自分类Dev

如何在数据框(或子集数据框)列表上循环地理映射功能

来自分类Dev

通过数据框列条件在列表中对数据框进行子集

来自分类Dev

根据其他数据框中的列表对数据框进行子集化

来自分类Dev

Python:合并列表或数据框并覆盖缺少的值

来自分类Dev

Python:合并列表或数据框并覆盖缺少的值

Related 相关文章

  1. 1

    将子集功能应用于数据框列表

  2. 2

    如何将套用应用于数据列表控件

  3. 3

    包含特定列名的数据框的子集列表

  4. 4

    子集并将列表转换为数据框

  5. 5

    基于列表对象的子集数据框

  6. 6

    R:for循环或套用到命名列表的某些元素

  7. 7

    数据框列的套用和套用之间的区别?

  8. 8

    使用列表理解时覆盖数据框

  9. 9

    根据列类对列表内的数据框进行子集

  10. 10

    基于行或列匹配的多个数据框的子集列表

  11. 11

    从数据框中选择列列表以转换为子集

  12. 12

    根据列表中的元素对数据框进行子集

  13. 13

    基于列表对 Python 3.x 数据框进行子集

  14. 14

    使用列表对大型数据框进行子集化

  15. 15

    通过方括号将字符串套用至子集[]

  16. 16

    使用条件将列表中的数据框处理为子集行,使用R处理另一个数据框

  17. 17

    更新数据框的子集

  18. 18

    选择数据框的子集

  19. 19

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

  20. 20

    将函数应用于数据框r的子集

  21. 21

    无法将列名称设置为数据框的子集

  22. 22

    从循环中计算函数以将其应用到数据框列表中

  23. 23

    按列对数据框进行子集化并返回这些子集的列表

  24. 24

    根据另一个数据框/列表在数据框中的列子集

  25. 25

    如何在数据框(或子集数据框)列表上循环地理映射功能

  26. 26

    通过数据框列条件在列表中对数据框进行子集

  27. 27

    根据其他数据框中的列表对数据框进行子集化

  28. 28

    Python:合并列表或数据框并覆盖缺少的值

  29. 29

    Python:合并列表或数据框并覆盖缺少的值

热门标签

归档