我很抱歉提出可能非常简单的问题。我有一个数据框,我尝试将 dput 放在下面。
mydf <- structure(list(br.Id = c(1992.0001, 1992.0002, 1992.0003, 1992.0004,
1992.0005, 1992.0006, 1992.0007, 1992.0008, 1992.0009, 1992.001
), si.month = c(4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L), br.day = c(23L,
23L, 23L, 23L, 23L, 23L, 23L, 23L, 23L, 23L), br.year = c(1992L,
1992L, 1992L, 1992L, 1992L, 1992L, 1992L, 1992L, 1992L, 1992L
), branch = 1:10, br.location = c(160170L, 160170L, 160170L, 160170L,
160170L, 160170L, 160170L, 160170L, 160170L, 160170L), si.length = c(90L,
128L, 112L, 68L, 56L, 58L, 111L, 111L, 115L, 65L), si.weight = c(9.3,
32.5, 19, 4.4, 2.1, 2.8, 16.1, 17.9, 22.7, 3.4), si.sex = structure(c(2L,
1L, 2L, 2L, 3L, 2L, 2L, 2L, 2L, 1L), .Label = c("female", "male",
"unknown"), class = "factor"), maturity = structure(c(7L, 7L,
7L, 7L, 10L, 7L, 7L, 7L, 7L, 2L), .Label = c("developing", "immature",
"mature", "nearly.ripe", "nearly.spent", "recovering", "ripe",
"running", "spent", "unknown", "yoy"), class = "factor"), age = c(NA,
NA, NA, NA, NA, NA, NA, NA, NA, 1L)), .Names = c("br.Id", "si.month",
"br.day", "br.year", "branch", "br.location", "si.length", "si.weight",
"si.sex", "maturity", "age"), row.names = c(NA, 10L), class = "data.frame")
我想要做的是选择与 br 同名的特定列。所以输出应该看起来像
br.Id br.day br.year branch br.location
1 1992.000 23 1992 1 160170
2 1992.000 23 1992 2 160170
3 1992.000 23 1992 3 160170
4 1992.000 23 1992 4 160170
5 1992.001 23 1992 5 160170
6 1992.001 23 1992 6 160170
7 1992.001 23 1992 7 160170
8 1992.001 23 1992 8 160170
9 1992.001 23 1992 9 160170
10 1992.001 23 1992 10 160170
我想也许 grep 可以用来获取这些列,但我不知道如何使用它。我感谢你的任何帮助
最佳答案
你可以用这个吗?
一种方法是使用 dplyr 包。您需要加载该 library(dplyr)
.然后是选择 function 是一个已知的 dplyr 函数,用于选择变量,然后您可以使用 包含 取出带有特定字母的列。
mydf %>% select(contains("br"))
#br.Id br.day br.year branch br.location
#1 1992.000 23 1992 1 160170
#2 1992.000 23 1992 2 160170
#3 1992.000 23 1992 3 160170
#4 1992.000 23 1992 4 160170
#5 1992.001 23 1992 5 160170
#6 1992.001 23 1992 6 160170
#7 1992.001 23 1992 7 160170
#8 1992.001 23 1992 8 160170
#9 1992.001 23 1992 9 160170
#10 1992.001 23 1992 10 160170
关于r - 如何选择在数据框中共享特定名称的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38424013/