小编Nie*_*rts的帖子

替换列表中所有数据表中的NA

我有一个包含许多数据表的列表.对于这些表中的每一个,我想用0替换NA.

我知道如何分别更改每个数据表的NA,但有没有办法将其放入一个命令,例如,使用lapply?

例如:li是包含两个数据表dt1和dt2的列表.

li <- list(dt1 = data.table(name = c(4,5), age = c(12, NA)), dt2= data.table(name = c(43,245,243), age = c(354,NA,NA)));
Run Code Online (Sandbox Code Playgroud)

在一个data.table中将NA更改为0就像一个魅力:

d <- "dt1";
li[[d]][is.na(li[[d]])]<-0;
Run Code Online (Sandbox Code Playgroud)

结果是:

> li
$dt1
  name age
1:    4  12
2:    5   0
$dt2
name age
1:   43 354
2:  245  NA
3:  243  NA
Run Code Online (Sandbox Code Playgroud)

但是当我尝试:

test <- lapply(names(li), function(d) li[[d]][is.na(li[[d]])]<-0)
Run Code Online (Sandbox Code Playgroud)

我明白了:

> test
[[1]]
[1] 0
[[2]]
[1] 0
Run Code Online (Sandbox Code Playgroud)

如果没有在列表中的所有数据表上使用循环,有没有办法做到这一点?

r lapply

4
推荐指数
2
解决办法
896
查看次数

自定义JGraphX

我一直在使用JGraphX来显示一些数据(简单的离散图),我想知道如何用JGraphX库做以下事情:

  • 使所有边不可移动但仍允许用户在两​​个顶点之间创建边
  • 使所有顶点和边不可编辑(它们无法编辑显示在它们上面的内容)
  • 如何在任何给定时间获得选定的顶点或边?
  • 使所有顶点框对用户不可调整
  • 如何修改每个顶点框的颜色?

谢谢,ExtremeCoder

java graph jgraphx

3
推荐指数
1
解决办法
3216
查看次数

标签 统计

graph ×1

java ×1

jgraphx ×1

lapply ×1

r ×1