我想在我的数据集中添加标签.但是,问题是我的数据集中有这么多列,因此手动添加标签很费力.
我有33列,包括label末尾的列,如下所示.
features <- c("f1","f2","f3","f4","f5","f6","f7","f8","f9","f10",
"f11","f12","f13","f14","f15","f16","f17","f18","f19","f20",
"f21","f22","f23","f24","f25","f26","f27","f28","f29","f30",
"f31","f32","label")
colnames(urc_training_norm) <- features
Run Code Online (Sandbox Code Playgroud)
如您所见,手动键入每列很烦人地添加我想要的列名称.
有没有更好的方法来生成这些名称?
你可以使用paste0命令
> c(paste0("f", 1:32), "label")
[1] "f1" "f2" "f3" "f4" "f5" "f6" "f7" "f8" "f9" "f10" "f11" "f12"
[13] "f13" "f14" "f15" "f16" "f17" "f18" "f19" "f20" "f21" "f22" "f23" "f24"
[25] "f25" "f26" "f27" "f28" "f29" "f30" "f31" "f32" "label"
Run Code Online (Sandbox Code Playgroud)
这将完成这项工作
colnames(urc_training_norm) <- c(paste0("f", 1:32), "label")
Run Code Online (Sandbox Code Playgroud)
这是我通常这样做的方式.sprintf直接打印数字.通过添加%02d或者%03d您可以添加前导零,这在处理大数字时很有用:D
features <- c(sprintf("f%02d", seq(1,32)),"label")
colnames(urc_training_norm) <- features
Run Code Online (Sandbox Code Playgroud)
如果您不介意使用X而不是前缀f,那么我们可以使用make.names()旨在制作语法有效名称的函数:
make.names(c(1:4, "label"))
# [1] "X1" "X2" "X3" "X4" "label"
Run Code Online (Sandbox Code Playgroud)
或者我们可以使用make.unique():
make.unique(c(rep("f", 4), "label"), sep = "")
# [1] "f" "f1" "f2" "f3" "label"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4413 次 |
| 最近记录: |