在阅读以下帮助文件时,应该可以为列名添加前缀:
colnames(x, do.NULL = TRUE, prefix = "col")
Run Code Online (Sandbox Code Playgroud)
以下对我不起作用.我在这做错了什么?
m2 <- cbind(1,1:4)
colnames(m2, do.NULL = FALSE)
colnames(m2) <- c("x","Y")
colnames(m2) <- colnames(m2, prefix = "Sub_")
colnames(m2)
Run Code Online (Sandbox Code Playgroud)
A5C*_*2T1 80
您误读了帮助文件.以下是要查看的论点:
do.NULL:合乎逻辑.如果FALSE和名称是NULL,则创建名称.
注意并在该描述中.您的名字不再存在NULL,因此使用前缀将不起作用.
相反,使用这样的东西:
> m2 <- cbind(1,1:4)
> colnames(m2) <- c("x","Y")
> colnames(m2) <- paste("Sub", colnames(m2), sep = "_")
> m2
Sub_x Sub_Y
[1,] 1 1
[2,] 1 2
[3,] 1 3
[4,] 1 4
Run Code Online (Sandbox Code Playgroud)
小智 11
作为函数使用的更新tidyverse方法 (with dplyr 1.0.2)已被取代。rename_with()rename_all()
iris %>% rename_with( ~ paste("Sub", .x, sep = "_"))
Run Code Online (Sandbox Code Playgroud)
我将添加tidyverse解决此问题的方法,为此您可以在所有列名称中添加后缀和前缀。以下在dplyr管道中添加前缀。
df <- data.frame(x = c(1, 2), y = c(3, 4))
df %>% dplyr::rename_all(function(x) paste0("a", x))
Run Code Online (Sandbox Code Playgroud)
添加后缀更容易。
df %>% dplyr::rename_all(paste0, "a")
Run Code Online (Sandbox Code Playgroud)