如何使用magrittr从数据帧中提取单个元素?
这可能是一个简单的问题,但我无法找到答案。考虑这个简单的数据文件如何使用magrittr从数据帧中提取单个元素?,r,dplyr,purrr,magrittr,R,Dplyr,Purrr,Magrittr,这可能是一个简单的问题,但我无法找到答案。考虑这个简单的数据文件 library(dplyr) library(purrr) library(magrittr) dataframe <- data_frame(id = c(1,2,3,4), text = c("this is a this", "this is another",'hello','what???')) > dataframe # A tibble: 4 x 2
library(dplyr)
library(purrr)
library(magrittr)
dataframe <- data_frame(id = c(1,2,3,4),
text = c("this is a this", "this is another",'hello','what???'))
> dataframe
# A tibble: 4 x 2
id text
<dbl> <chr>
1 1 this is a this
2 2 this is another
3 3 hello
4 4 what???
但它不起作用。我能在这里做什么?您可以尝试:
dataframe %>%
filter(row_number() == 4) %>%
pull(text)
您可以尝试:
dataframe %>%
filter(row_number() == 4) %>%
pull(text)
这项工作:
dataframe %>% select(text) %>% unlist() %>% .[4]
编辑:
这并不重要,但有更快的选择(来自穆迪的列表):
我喜欢(不在名单上):
平均162这项工作:
dataframe %>% select(text) %>% unlist() %>% .[4]
编辑:
这并不重要,但有更快的选择(来自穆迪的列表):
我喜欢(不在名单上):
对于
magrittr
唯一的解决方案,您想要的平均值为162
dataframe %>% magrittr::use_series(text) %>% magrittr::extract(4)
对于
magrittr
唯一的解决方案,您需要
dataframe %>% magrittr::use_series(text) %>% magrittr::extract(4)
一些简短的可能性:
dataframe %$% text[4]
dataframe %>% {.$text[4]}
dataframe %>% .[[4,"text"]]
dataframe %>% `[[`(4,"text")
或者,如果您只想使用magrittr
别名:
dataframe %>% extract2(4,"text")
dataframe %$% text %>% extract(4)
dataframe %>% extract2("text") %>% extract(4)
dataframe %>% use_series(text) %>% extract(4) # @Brian'ssolution
其他建议的解决方案并非纯粹的magrittr(使用dplyr
):
一些简短的可能性:
dataframe %$% text[4]
dataframe %>% {.$text[4]}
dataframe %>% .[[4,"text"]]
dataframe %>% `[[`(4,"text")
或者,如果您只想使用magrittr
别名:
dataframe %>% extract2(4,"text")
dataframe %$% text %>% extract(4)
dataframe %>% extract2("text") %>% extract(4)
dataframe %>% use_series(text) %>% extract(4) # @Brian'ssolution
其他建议的解决方案并非纯粹的magrittr(使用dplyr
):
好吧,你总是可以像
dataframe%>%pull(text)%>%.[4]
@AndreyKolyadin一样工作!谢谢,但是你怎么会知道这些东西呢?记录在哪里?或者可能是dataframe%>%pull(text)%%>%last()
@Sotos谢谢,但是获取最后一个元素是为了示例。我想任何第I个元素都可以被删除。这只是一个想法好吧,你总是可以像dataframe%>%pull(text)%>%.[4]
@AndreyKolyadin工作!谢谢,但是你怎么会知道这些东西呢?记录在哪里?或者可能是dataframe%>%pull(text)%%>%last()
@Sotos谢谢,但是获取最后一个元素是为了示例。我想任何第I个元素都可以被删除。只是一个想法谢谢!您知道[4]
语法的文档在哪里吗?
只是数据帧的占位符,因为它通过管道进行操作。您可以这样编写上述代码,并得到相同的结果dataframe%%>%select(,text)%%>%unlist(.)%%>%.[4]
。最后的括号只是标准的R子集。谢谢!您知道[4]
语法的文档在哪里吗?
只是数据帧的占位符,因为它通过管道进行操作。您可以这样编写上述代码,并得到相同的结果dataframe%%>%select(,text)%%>%unlist(.)%%>%.[4]
。末尾的括号只是标准的R子集。