r - 从 R 中的列表中过滤值

标签 r list filter structure

我想计算指定数字列表的平均值。我首先要删除一些 numeric(0) 值。另外,我想检索列表中的哪些元素包含 numeric(0) 值。

以下是值的示例:

>r["gg",]

$`01_1_er`
   gg 
0.5176445 

$`02_1_er`
   gg 
0.4990959 

$`03_1_er`
   gg 
0.5691489 

$`22_1_er`
numeric(0)

$`23_1_er`
numeric(0)

$`25_1_er`
  gg 
0.386304 

这是 str 的结果:

> str(r["gg",])
List of 6
 $ 01_1_er: Named num 0.518
  ..- attr(*, "names")= chr "gg"
 $ 02_1_er: Named num 0.499
  ..- attr(*, "names")= chr "gg"
 $ 03_1_er: Named num 0.569
  ..- attr(*, "names")= chr "gg"
 $ 22_1_er: num(0) 
 $ 23_1_er: num(0) 
 $ 25_1_er: Named num 0.386
  ..- attr(*, "names")= chr "gg"

有人可以帮忙吗?

最佳答案

## Example list

l <- list(n1=numeric(0), n2="foo", n3=numeric(0), n4=1:5)

## Filter out elements with length 0

l[lapply(l, length) > 0]


$n2
[1] "foo"

$n4
[1] 1 2 3 4 5


## Get names of elements with length 0

names(l)[lapply(l, length) == 0]

[1] "n1" "n3"

关于r - 从 R 中的列表中过滤值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14771029/

相关文章:

R Markdown : Citation parsing

r - 使用 expression() 在 R 中标记时如何制作连字符而不是减号?

css - 在垂直对齐的列表项的左边框之间创建空间

Javascript:从数组中删除特定项目并返回没有这些项目的原始数组

r - 如何在双对数图(ggplot2)中添加趋势线?

c++ - 关于 std::list 的基本问题

python - UnboundLocalError 行为不直观的原因 2

PHP 按类别过滤搜索结果

sql - MDX - 多个 Where 和/或过滤条件

r - 在 R 中的不同源文件中调试函数