使用 BASE R 在 data.frame 列名的开头放置一个单词和一个点

Drop a word and a dot at the start of a data.frame columnames using BASE R

使用 BASE R,我想知道如何从以下列名称的开头删除 "tlist."nms = data.frame(tlist.time_wk = 1:5, tlist.treats = 2:6, bb = 3:7)?

期望的输出:

data.frame(time_wk = 1:5, treats = 2:6, bb = 3:7)

我会使用 gsub 来编辑名称属性。但是,不确定这是否算作基础 R? 在点前面使用 '\\' 删除文字点

names(nms) <- gsub("^tlist\.", "", names(nms))

编辑:这是基础 R,添加了“^”以仅从字符串的开头捕获

你也可以提取你需要的-

names(nms) <- sub('^tlist\.(.*)', '\1', names(nms))
names(nms)
#[1] "time_wk" "treats"  "bb"