相关疑难解决方法(0)

如何使用magrittr%>%pipe从列表中提取/子集元素?

自从%>%magrittr包中引入运算符(并且它在其中使用)以来dplyr,我已经开始在我自己的工作中使用它.

然而,一个简单的操作让我难过.具体而言,这是从列表中提取(或子集化)元素.

一个示例:在基RI将使用$,[[[以提取从一个列表中的一个元素:

iris$Species
iris[["Species"]]
Run Code Online (Sandbox Code Playgroud)

我可以使用%>%管道实现相同的目标:

iris %>%
  subset(select = "Species") %>%
  head

  Species
1  setosa
2  setosa
3  setosa
4  setosa
5  setosa
6  setosa
Run Code Online (Sandbox Code Playgroud)

要么

iris %>%
  `[[`("Species") %>%
  levels

[1] "setosa"     "versicolor" "virginica" 
Run Code Online (Sandbox Code Playgroud)

然而,这感觉就像一个混乱,笨重的解决方案.

是否有更优雅,规范的方法使用%>%管道从列表中提取元素?

注意:我不想要任何涉及的解决方案dplyr,原因很简单,我希望解决方案能够与任何R对象一起使用,包括列表和矩阵,而不仅仅是数据帧.

r magrittr

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

在R中,从列表中提取对象的一部分

我只是在学习R并且很难绕过如何从列表中的对象中提取元素.我已经将一个json文件解析为R给我列表对象.但我无法弄清楚如何从列表中提取各种json元素.这是一个截断的看看解析json后我的数据如何显示:

 > #Parse data into R objects#
 > list.Json= fromJSON(,final.name, method = "C")
 > head(listJson,6)
[[1]]
[[1]]$contributors
NULL

[[1]]$favorited
[1] FALSE

...[truncating]...
[[5]]
[[5]]$contributors
NULL

[[5]]$favorited
[1] FALSE
Run Code Online (Sandbox Code Playgroud)

我可以弄清楚如何提取列表中的一个对象的收藏夹数据

> first.object=listJson[1]
> ff=first.object[[1]]$favorited
> ff
[1] FALSE
Run Code Online (Sandbox Code Playgroud)

但我对如何为列表中的所有对象提取收藏非常困惑.我调查了一下,这是正确的做法吗?我需要将上面的代码放入for ... next循环吗?

r

17
推荐指数
1
解决办法
2万
查看次数

标签 统计

r ×2

magrittr ×1