从R中列表内的变量名中删除后缀
使用BASE R,我想知道如何从下面的从R中列表内的变量名中删除后缀,r,regex,list,function,dataframe,R,Regex,List,Function,Dataframe,使用BASE R,我想知道如何从下面的g中的变量中删除.number后缀(例如,short..3变成short) G <- list(AA = list(short..3 = data.frame(dint = 5:7, SD = 0:2), short..2 = NULL, del1 = data.frame(dint = 1:3, SD = 2:4), del1
g
中的变量中删除.number
后缀(例如,short..3
变成short
)
G <- list(AA = list(short..3 = data.frame(dint = 5:7, SD = 0:2),
short..2 = NULL,
del1 = data.frame(dint = 1:3, SD = 2:4),
del1..2 = NULL, del2 = NULL),
BB = list(short = data.frame(dint = 1:4, SD = 2:5),
short..2 = NULL,
del1..4 = data.frame(dint = 5:6, SD = 3:4),
del1..2 = NULL,
del2 = data.frame(dint = 6, SD = 1)))
G可能适当使用了gsub()
。如果删除所有后缀,您的名称是否会重复?如果您的编号
(在.number
中)仅为一位整数(如示例中所示),则不需要在\\d
之后加上*
for (i in seq_along(G)) {
names(G[[i]]) <- gsub("(.*)\\.\\.\\d*", "\\1", names(G[[i]]))
}
lapply(G, function(i) setNames(i, gsub("(.*)\\.\\.\\d*", "\\1", names(i))))