R:连接具有相同值的字符串
R: Concatenate strings with same values
我有一个如下所示的数据框:
1 a
2 a
3 a
4 a
a a
x b
y b
b b
我怎样才能使用 are 得到类似的东西:
a 1,2,3,4
b x,y
考虑到标识符 a 和 b 也列在第 1 列中,但不应成为连接字符串的一部分。非常感谢!
根据最初的描述,
aggregate(V1~V2, df1, toString)
# V2 V1
#1 a 1, 2, 3, 4
#2 b x, y
更新
假设,如果我们需要在 paste
V1
下面列出了几个选项:
library(data.table)
setDT(df2)[!V1 %chin% V2, toString(V1), by=V2]
# V2 V1
#1: a 1, 2, 3, 4
#2: b x, y
或者
library(dplyr)
df2 %>%
filter(!V1 %in% V2) %>%
group_by(V2) %>%
summarise(V1=toString(V1))
数据
df1 <- structure(list(V1 = c("1", "2", "3", "4", "x", "y"),
V2 = c("a",
"a", "a", "a", "b", "b")), .Names = c("V1", "V2"),
class = "data.frame", row.names = c(NA, -6L))
df2 <- structure(list(V1 = c("1", "2", "3", "4", "a", "x", "y", "b"),
V2 = c("a", "a", "a", "a", "a", "b", "b", "b")), .Names = c("V1",
"V2"), class = "data.frame", row.names = c(NA, -8L))
我有一个如下所示的数据框:
1 a
2 a
3 a
4 a
a a
x b
y b
b b
我怎样才能使用 are 得到类似的东西:
a 1,2,3,4
b x,y
考虑到标识符 a 和 b 也列在第 1 列中,但不应成为连接字符串的一部分。非常感谢!
根据最初的描述,
aggregate(V1~V2, df1, toString)
# V2 V1
#1 a 1, 2, 3, 4
#2 b x, y
更新
假设,如果我们需要在 paste
V1
下面列出了几个选项:
library(data.table)
setDT(df2)[!V1 %chin% V2, toString(V1), by=V2]
# V2 V1
#1: a 1, 2, 3, 4
#2: b x, y
或者
library(dplyr)
df2 %>%
filter(!V1 %in% V2) %>%
group_by(V2) %>%
summarise(V1=toString(V1))
数据
df1 <- structure(list(V1 = c("1", "2", "3", "4", "x", "y"),
V2 = c("a",
"a", "a", "a", "b", "b")), .Names = c("V1", "V2"),
class = "data.frame", row.names = c(NA, -6L))
df2 <- structure(list(V1 = c("1", "2", "3", "4", "a", "x", "y", "b"),
V2 = c("a", "a", "a", "a", "a", "b", "b", "b")), .Names = c("V1",
"V2"), class = "data.frame", row.names = c(NA, -8L))