【问题标题】:R combine / merge two columns to one columnR将两列合并/合并为一列
【发布时间】:2018-06-20 12:20:15
【问题描述】:

我在 data.frame 中有两列(类:字符),其中包含大量数字(例如 A 列:999967258082532415;B 列:999967258082532415)。我想要一个结合两个数字的新列 C:999967258082532415999967258082532415

我用:

data_1$visit_id <- do.call(paste, c(data_1[c("post_visid_high", "post_visid_low")], sep = "")) 

但是我的新列被转换为因子,但我仍然想要一个字符。我能做什么?

【问题讨论】:

  • 我们可以看看你的数据框样本吗?
  • options(stringsAsFactors=F) 放在您的代码之上并运行它。您正在运行 data.frame 命令的地方,因为默认值为 stringsAsFactors =T ,因此可能是您的数据正在转换为因子
  • paste0(data_1$post_visid_high, data_1$post_visid_low)
  • PKumar:“在上面”在哪里。能否请您插入整个代码?
  • @flobrr , Top 表示第一行应该是 options(stringsAsFactors=F) ,然后你在 R 中运行所有命令

标签: r


【解决方案1】:

我创建了一个类似于您的示例数据集:

df <- data.frame(col_A = c(2314325435454354,123098213728903214,12329042374094), 
             col_B = c(9034832054097390485,30945743504375043,234903284304))

使用 dplyr,创建一个连接其他两列的新列(C 列),然后将所有列更改为字符数据类型:

library(dplyr)

df <- df %>%
    mutate(col_C = col_A + col_B) %>%
    mutate_all(funs(as.character(.)))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-20
    • 1970-01-01
    • 2014-05-09
    • 1970-01-01
    • 2020-04-24
    • 1970-01-01
    相关资源
    最近更新 更多