我有这样的数据:
data<-structure(list(record_id = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10),
fracture1_medial___1 = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 1), fracture1_medial___2 = c(0,
0, 0, 0, 0, 0, 1, 0, 0, 0), fracture1_medial___5 = c(0, 0,
0, 0, 0, 0, 0, 0, 1, 0), fracture1_lateral___1 = c(0, 0,
0, 0, 0, 0, 0, 0, 0, 1), fracture1_lateral___2 = c(0, 0,
0, 0, 0, 0, 1, 0, 0, 0), fracture1_lateral___3 = c(0, 0,
0, 0, 0, 0, 0, 0, 0, 0), fracture1_lateral___4 = c(0, 0,
0, 0, 0, 0, 0, 0, 0, 0)), class = c("spec_tbl_df", "tbl_df",
"tbl", "data.frame"), row.names = c(NA, -10L), spec = structure(list(
cols = list(record_id = structure(list(), class = c("collector_double",
"collector")), fracture1_medial___1 = structure(list(), class = c("collector_double",
"collector")), fracture1_medial___2 = structure(list(), class = c("collector_double",
"collector")), fracture1_medial___5 = structure(list(), class = c("collector_double",
"collector")), fracture1_lateral___1 = structure(list(), class = c("collector_double",
"collector")), fracture1_lateral___2 = structure(list(), class = c("collector_double",
"collector")), fracture1_lateral___3 = structure(list(), class = c("collector_double",
"collector")), fracture1_lateral___4 = structure(list(), class = c("collector_double",
"collector"))), default = structure(list(), class = c("collector_guess",
"collector")), skip = 1L), class = "col_spec"))
如您所见,列的名称类似于“fracture1_lateral_2”。我希望删除第一个下划线之前的所有内容(包括下划线),这样我就可以保留类似于“lateral_2”的列名称,但不包括第一列“record_id”。换句话说,我的目标是:
真实的的数据有更多的列,所以如果我不必写出每个人的名字,那就太理想了。Tidyverse更好,但也很灵活。谢谢!
3条答案
按热度按时间a0x5cqrl1#
bn31dyow2#
这是否有效:
4ngedf3f3#
您可以尝试: