【问题标题】:Replace character in the whole dataframe [duplicate]替换整个数据框中的字符[重复]
【发布时间】:2019-06-02 23:49:44
【问题描述】:

在这样的数据框中:

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)

我应该改变什么?

【问题讨论】:

  • 你可能需要遍历每一列data1[] &lt;- lapply(data1, function(x) gsub('_', '-', x))
  • 以上欺骗目标不正确
  • @Sotos 现在应该是正确的 :)

标签: r


【解决方案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

【讨论】:

  • 无需致电data.frame。您可以更新现有数据框。查看 Ronak 的评论
猜你喜欢
  • 2021-12-14
  • 1970-01-01
  • 2019-01-02
  • 2021-02-22
  • 1970-01-01
  • 2019-02-19
  • 2019-06-13
  • 1970-01-01
  • 2016-04-25
相关资源
最近更新 更多