有条件地从R中的H2O帧对象中删除行

有条件地从R中的H2O帧对象中删除行,r,dataframe,h2o,R,Dataframe,H2o,我有一个像这样的H2O帧R对象 h2odf A | B | C | D --|---|---|--- 1 | NA| 2 | 0 2 | 1 | 2 | 0 3 | NA| 2 | 0 4 | 3 | 2 | 0 我想删除所有B为NA的行(第一行和第三行)。我试过了 na <- is.na(h2odf[,"b"]) h2odf <- h2odf[!na,] 期望输出为 h2odf A | B | C | D --|---|---|--- 2 | 1 | 2 | 0 4 | 3

我有一个像这样的H2O帧R对象

h2odf

A | B | C | D
--|---|---|---
1 | NA| 2 | 0
2 | 1 | 2 | 0
3 | NA| 2 | 0
4 | 3 | 2 | 0
我想删除所有B为NA的行(第一行和第三行)。我试过了

na <- is.na(h2odf[,"b"])
h2odf <- h2odf[!na,]
期望输出为

h2odf

A | B | C | D
--|---|---|---
2 | 1 | 2 | 0
4 | 3 | 2 | 0
我的一个选择是将其转换为R数据帧,删除行并将其转换回H2O帧。但这需要很长时间,因为输入文件大小接近4.5 GB。是否可以在H2O帧十六进制对象本身中执行此操作


我正在aws群集上运行Rstudio

你试过子集函数吗?idk什么是h20帧,但它的语法非常简单。我已经试过这个h2odf哦,是的,你需要使用子集(h2odf,!is.na(B))或一列B perhapsThanks,但我已经试过了。不起作用。如果子集函数和x[bool,]方法都不起作用,那么它可能是特定于此h2odf数据类型的。你看过.h2o.doSafeREST中的错误了吗(h2oRestApiVersion=h2oRestApiVersion,urlSuffix=page,:@penguin-从未在H2O上工作过。在这种情况下,我的答案可能对您的查询无效。我可以将其取下,以便其他人仍能帮助您。谢谢。我不确定您是否应该删除它。这适用于默认的R dataframe对象。我希望它适用于R H2O frame对象另外,由于大多数R操作都能正常工作。这是一个类似的问题,但仍未解决。您能否演示如何创建
H2O帧
?我已下载了所需的软件包。
> class(h2odf)
[1] "H2OFrame"

> h2odf
  A  B C D
1 1 NA 2 0
2 2  1 2 0
3 3 NA 2 0
4 4  3 2 0

[4 rows x 4 columns] 

> h2odf[!is.na(as.numeric(as.character(h2odf$B))),]
  A B C D
1 2 1 2 0
2 4 3 2 0

[2 rows x 4 columns]
Error in .h2o.doSafeREST(h2oRestApiVersion = h2oRestApiVersion, urlSuffix = page,  : 


ERROR MESSAGE:

DistributedException from localhost/127.0.0.1:54321: 'Cannot set illegal UUID value'
h2odf

A | B | C | D
--|---|---|---
2 | 1 | 2 | 0
4 | 3 | 2 | 0
> class(h2odf)
[1] "H2OFrame"

> h2odf
  A  B C D
1 1 NA 2 0
2 2  1 2 0
3 3 NA 2 0
4 4  3 2 0

[4 rows x 4 columns] 

> h2odf[!is.na(as.numeric(as.character(h2odf$B))),]
  A B C D
1 2 1 2 0
2 4 3 2 0

[2 rows x 4 columns]