创建新的字符向量列

时间:2018-10-08 15:03:07

标签: r dplyr

我正在尝试将“字符”类型的两个列合并到一个新列中。也就是说,

exports.deleteOldItems = functions.database.ref('/Rooms/{pushId}')
.onWrite((snapshot,context) => {
  ...
  var ref = snapshot.ref.root;
  return ref.child("/Users/123").set("New value");
});

我尝试过:

ColA    ColB    ColC
"A"     "1"     c("A", "1")
"B"     "2"     c("B", "2")
"C"     "3"     c("C", "3")

和其他变体,但这不起作用。有人知道该怎么做吗?

3 个答案:

答案 0 :(得分:2)

在此示例中,简单的paste就可以完成工作

df=data.frame(colA=c("A","B","C"), colB=c("1","2","3"))
df$ColC=paste(df$colA, df$colB)
df
  colA colB ColC
1    A    1  A 1
2    B    2  B 2
3    C    3  C 3

答案 1 :(得分:1)

我们可以使用rowwise

library(tidyverse)
df %>%
    rowwise() %>%
    mutate(ColC = list(c(.)))

或使用pmap

df %>%
  mutate(ColC = pmap(., ~ c(...)))

数据

df <- structure(list(ColA = c("A", "B", "C"), ColB = 1:3), 
  class = "data.frame", row.names = c(NA, -3L))

答案 2 :(得分:1)

如果您不想使用dplyr df$ColC <- apply(df[,c("ColA", "ColB")], 1, paste, collapse = " ").