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

时间:2017-04-05 09:25:29

标签: r select

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

说我有一个名为" school"如下:

Name Math English
James 80   90
Tom   91   91
Shaun 99   71
Jack  92   91

在这里,选择(school,starts_with(" M"))给我一栏"数学"只要。 我想在行上应用它,例如命令'给我名字以&#34开头的行; J"字母',它将反过来给我一个有两行的数据。

我尝试调换数据并成功实现我想要的,但它并不是我真正想要的。

我该怎么做才能做到这一点?

2 个答案:

答案 0 :(得分:1)

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

library(dplyr)
filtered_df <- school %>% dplyr::filter(substr(Name,1,1) == "J")

答案 1 :(得分:0)

我认为这会奏效:

library(tidyverse)
df <- df %>% filter(str_detect(Name, "^J"))