我正在使用R。
开发世界银行数据库我的数据集如下所示:
name code y1 y2 y3 y4 .... y2000
Dan D1 0 1 2 0 .... 2
Max M1 0 2 0 4 .... 6
我想从第3列开始删除每个列名开头的“y”。
name code 1 2 3 4 .... 2000
Dan D1 0 1 2 0 .... 2
Max M1 0 2 0 4 .... 6
我试过了:
names(dataset_1[,c(3:2002)])<-substring(names(dataset_1[,c(3:2002)]), 2)
但它不起作用..
答案 0 :(得分:1)
你可以这样做,虽然R不喜欢列名是数字,所以如果你能避免它我会:
df <- data.frame(a = 1, b = 2, y1 = 1, y2 = 1, y3 = 1)
df
#> a b y1 y2 y3
#> 1 1 2 1 1 1
names(df)[3:ncol(df)] <- substring(names(df)[3:ncol(df)], 2)
df
#> a b 1 2 3
#> 1 1 2 1 1 1
要访问列,您需要编写df$'1'
而不是简单地df$1