如何在行而不是列上应用 dplyr 的 select(,starts_with()) ?

Mon*_*2us 2 select r

我现在试图找出一种方法来选择在变量或特定字母中具有特定值的数据,尤其是使用与 starts_with() 类似的算法。

假设我有一个名为“学校”的数据,如下所示:

Name Math English
James 80   90
Tom   91   91
Shaun 99   71
Jack  92   91
Run Code Online (Sandbox Code Playgroud)

在这里, select(school, starts_with("M")) 只给我列“数学”。我想在行上应用它,例如命令'给我名称以“J”字母开头的行',这又会给我一个两行的数据。

我尝试转置数据并成功实现了我想要的结果,但这并不是我真正想要的。

我怎样才能完成这项工作?

Vas*_*iou 7

我相信 dplyr 的过滤器和 substring 命令的组合是最有效的:

library(dplyr)
filtered_df <- school %>% dplyr::filter(substr(Name,1,1) == "J")
Run Code Online (Sandbox Code Playgroud)


pjp*_*rez 7

我认为这会奏效:

library(tidyverse)
df <- df %>% filter(str_detect(Name, "^J"))
Run Code Online (Sandbox Code Playgroud)