如何从 R 中的 headers 列中删除某些字符?
How can I remove certain characters from column headers in R?
我有以下数据框:
Gene <- c(1,2,3,4,5,6)
A1.1 <- c(1,1,2,4,3,5)
B1.1 <- c(2,1,4,2,4,5)
C1.1 <- c(2,4,3,2,1,5)
A1.2 <- c(1,1,2,3,4,5)
B1.2 <- c(2,2,3,4,5,1)
C1.2 <- c(3,3,2,1,4,5)
df <- data.frame(Gene, A1.1, B1.1, C1.1, A1.2, B1.2, C1.2)
df
Gene A1.1 B1.1 C1.1 A1.2 B1.2 C1.2
1 1 1 2 2 1 2 3
2 2 1 1 4 1 2 3
3 3 2 4 3 2 3 2
4 4 4 2 2 3 4 1
5 5 3 4 1 4 5 4
6 6 5 5 5 5 1 5
如何从每列 header 中删除“.1”和“.2”(或第 3 个和第 4 个字符)? (例如,A1.1 -> A1 或 A1.2 -> A1)。我可以使用 gsub()
吗?
我们可以使用 sub
来匹配 .
(元字符 - 所以转义)后跟一个或多个数字 (\d+
) 最后 ($
)的字符串并替换为空白 (""
)
names(df) <- sub("\.\d+$", "", names(df))
注意:如果数据是data.frame
,则不允许重复列名,也不推荐
我有以下数据框:
Gene <- c(1,2,3,4,5,6)
A1.1 <- c(1,1,2,4,3,5)
B1.1 <- c(2,1,4,2,4,5)
C1.1 <- c(2,4,3,2,1,5)
A1.2 <- c(1,1,2,3,4,5)
B1.2 <- c(2,2,3,4,5,1)
C1.2 <- c(3,3,2,1,4,5)
df <- data.frame(Gene, A1.1, B1.1, C1.1, A1.2, B1.2, C1.2)
df
Gene A1.1 B1.1 C1.1 A1.2 B1.2 C1.2
1 1 1 2 2 1 2 3
2 2 1 1 4 1 2 3
3 3 2 4 3 2 3 2
4 4 4 2 2 3 4 1
5 5 3 4 1 4 5 4
6 6 5 5 5 5 1 5
如何从每列 header 中删除“.1”和“.2”(或第 3 个和第 4 个字符)? (例如,A1.1 -> A1 或 A1.2 -> A1)。我可以使用 gsub()
吗?
我们可以使用 sub
来匹配 .
(元字符 - 所以转义)后跟一个或多个数字 (\d+
) 最后 ($
)的字符串并替换为空白 (""
)
names(df) <- sub("\.\d+$", "", names(df))
注意:如果数据是data.frame
,则不允许重复列名,也不推荐