在整个数据框中替换字符

时间:2019-01-08 09:54:04

标签: r

在这样的数据框中:

a <- c(rep ("C-B", 4), rep("C_C", 6))
b <- c(rep ("B-B", 4), rep("B_C", 6))
c <- c(rep ("A-B", 4), rep("A_C", 6))
data1 <- data.frame (a, b, c)

我想在整个数据框中将“ _”替换为“-”

我尝试了此操作,但无法正常工作:

data2 <- gsub('_', '-', data1)

我应该改变什么?

1 个答案:

答案 0 :(得分:1)

如何按如下方式使用lapply

> data1 <- data.frame(lapply(data1, function(x) {gsub("_", "-", x)}))

甚至更好

> data1[] <- lapply(data1, function(x) {gsub("_", "-", x)})
> data1
     a   b   c
1  C-B B-B A-B
2  C-B B-B A-B
3  C-B B-B A-B
4  C-B B-B A-B
5  C-C B-C A-C
6  C-C B-C A-C
7  C-C B-C A-C
8  C-C B-C A-C
9  C-C B-C A-C
10 C-C B-C A-C