我有一个需要,我想可以满足aggregate或reshape,但我不能完全弄明白.
我有一个名单(brand)列表和随附的ID号(id).这些数据是长形式的,因此名称可以有多个ID.我想通过名称(brand)去重复,并将多个可能id的连接到由注释分隔的字符串中.
例如:
brand id
RadioShack 2308
Rag & Bone 4466
Ragu 1830
Ragu 4518
Ralph Lauren 1638
Ralph Lauren 2719
Ralph Lauren 2720
Ralph Lauren 2721
Ralph Lauren 2722
Run Code Online (Sandbox Code Playgroud)
应成为:
RadioShack 2308
Rag & Bone 4466
Ragu 1830,4518
Ralph Lauren 1638,2719,2720,2721,2722
Run Code Online (Sandbox Code Playgroud)
我怎么做到这一点?
我有以下小题,
contact <- tribble(
~name, ~phone, ~email,
'John', 123, 'john_abc@gmail.com',
'John', 456, 'john_abc@gmail.com',
'John', 456, 'john_xyz@gmail.com',
'John', 789, 'john_pqr@gmail.com'
)
Run Code Online (Sandbox Code Playgroud)
如果电话或电子邮件相同,我想合并电话号码和电子邮件,所需的输出如下,
contact_combined <- tribble(
~name, ~phone, ~email,
'John', '123;456', 'john_abc@gmail.com;john_xyz@gmail.com',
'John', '789', 'john_pqr@gmail.com'
)
Run Code Online (Sandbox Code Playgroud)
我尝试先按姓名和电话进行分组,然后按姓名和电子邮件进行分组,但它没有给我预期的结果。我一直在寻找一种算法方法来解决这个问题,有人能给我建议吗?
注意:列中值的折叠不是这里的问题。这是关于选择要折叠的记录。
假设我有一个文档集合,例如:
text = c("is it possible to highlight text for some words" ,
"suppose i want words like words to be red and words like text to be blue")
Run Code Online (Sandbox Code Playgroud)
我想知道是否可以使用 R 的预定义单词列表的颜色来突出显示文档(特别是对于大型语料库)。列表中的每个单词都会获得特定的颜色。例如,将“单词”突出显示为红色,将“文本”突出显示为蓝色,如下所示。
我遇到一个问题,我通常将一列中的多行字符串数据折叠到一列中,但由于某种原因,代码没有按照我的预期进行。
我的数据如下所示:
Genes Source Type
1: LZIC Source1 Secondary
2: LZIC Source2 Lead
3: KIF1B Source1 Secondary
4: CASZ1 Source1 Secondary
5: CASZ1 Source4 Secondary
Run Code Online (Sandbox Code Playgroud)
我想通过基因进行压缩,我使用本网站上类似问题的代码来执行此操作,例如:
source <- df %>%
group_by(Genes) %>%
summarize(text = str_c(Source, collapse = ", "))
type <- df %>%
group_by(Genes) %>%
summarize(text = str_c(Type, collapse = ", "))
Run Code Online (Sandbox Code Playgroud)
但是,这些的输出看起来并不像我期望的那样,对于我创建的每个变量,我都会得到一行,其中所有源或类型都作为字符串,而没有其他内容。
我想要得到的输出是:
Genes Source Type
1: LZIC Source1, Source1 Secondary, Lead
2: KIF1B Source1 Secondary
3: CASZ1 Source1, Source4 Secondary, Secondary
Run Code Online (Sandbox Code Playgroud)
我的代码有问题吗?在其他情况下它对我有用。我也尝试过修改代码以同时进行两列压缩,但分别失败了。
输入数据:
structure(list(Genes = c("LZIC", "CDC14A", "KIF1B", …Run Code Online (Sandbox Code Playgroud) 我的数据格式如下
-------------------------
| A | a | 1 |
-------------------------
| A | a | 2 |
-------------------------
| A | a | 3 |
-------------------------
| B | b | 1 |
-------------------------
| B | b | 3 |
-------------------------
| B | b | 5 |
-------------------------
Run Code Online (Sandbox Code Playgroud)
基本上,如果第一个键相同,则除最后一列之外的所有列都相同。我想让数据框更加紧凑,而不是最后一列的每个实例一个观察,我有一个数字列表
像这样的东西:
-------------------------
| A | a | 1,2,3 |
-------------------------
| B | b | 1,3,5 |
-------------------------
Run Code Online (Sandbox Code Playgroud)
我正在学习 R 中的 tidyverse,但我很新,我还没有找到合适的函数来执行此操作。我很感激任何意见。