R 基于列值的字符串连接
如何基于column num的值创建新的列desc 这是我的原始数据集。a、 b、c、d、e和f是行名 这是我正在寻找的输出。注意,desc由num列的行名组成。num 2的行名是b和d;因此num 2的desc是Var:b,d。num 3的行名是c、e、f;因此,num 3的desc是Var:c,e,f 下面是创建数据集的代码R 基于列值的字符串连接,r,string,concatenation,R,String,Concatenation,如何基于column num的值创建新的列desc 这是我的原始数据集。a、 b、c、d、e和f是行名 这是我正在寻找的输出。注意,desc由num列的行名组成。num 2的行名是b和d;因此num 2的desc是Var:b,d。num 3的行名是c、e、f;因此,num 3的desc是Var:c,e,f 下面是创建数据集的代码 df <- data.frame(num=c(1, 2, 3, 4, 3, 3)) rownames(df) <- c("a", "b", "c", "d"
df <- data.frame(num=c(1, 2, 3, 4, 3, 3))
rownames(df) <- c("a", "b", "c", "d", "e", "f")
我们从row names row names_到_column创建一个列,按'num'分组,通过粘贴row names列'rn'的元素来创建'desc'
library(tidyverse)
df %>%
rownames_to_column('rn') %>%
group_by(num) %>%
transmute(desc = paste0('var: ', toString(rn)))
# A tibble: 6 x 2
# Groups: num [3]
# num desc
# <dbl> <chr>
#1 1 var: a
#2 2 var: b, d
#3 3 var: c, e, f
#4 2 var: b, d
#5 3 var: c, e, f
#6 3 var: c, e, f
数据
我们从row names row names_到_column创建一个列,按'num'分组,通过粘贴row names列'rn'的元素来创建'desc'
library(tidyverse)
df %>%
rownames_to_column('rn') %>%
group_by(num) %>%
transmute(desc = paste0('var: ', toString(rn)))
# A tibble: 6 x 2
# Groups: num [3]
# num desc
# <dbl> <chr>
#1 1 var: a
#2 2 var: b, d
#3 3 var: c, e, f
#4 2 var: b, d
#5 3 var: c, e, f
#6 3 var: c, e, f
数据
transform(df, desc = ave(row.names(df), df$num, FUN = function(x) toString(x)))
# num desc
#a 1 a
#b 2 b
#c 3 c, e, f
#d 4 d
#e 3 c, e, f
#f 3 c, e, f