小编chi*_*tra的帖子

删除特定列中行内的重复元素

我有一个数据框,例如;

COL1  COL2
A,A,A 2
B     1
C,C   4
D,D,D 1
A     4
F     2
C,C   1 
Run Code Online (Sandbox Code Playgroud)

我想首先删除其中的重复项COL1并获得:

COL1  COL2
A     2
B     1
C     4
D     1
A     4
F     2
C     1 
Run Code Online (Sandbox Code Playgroud)

然后通过对相同的COL1 字母求和并得到:COL2

COL1  COL2
A     6
B     1
C     5
D     1
F     2
Run Code Online (Sandbox Code Playgroud)

有人有想法吗?如果有帮助,这是数据框:

structure(list(COL1 = structure(c(2L, 3L, 4L, 5L, 1L, 6L, 4L), .Label = c("A", 
"A,A,A", "B", "C,C", "D,D,D", "F"), class = "factor"), COL2 = c(2, 
1, …
Run Code Online (Sandbox Code Playgroud)

regex r subset dataframe dplyr

6
推荐指数
3
解决办法
680
查看次数

创建具有多个分隔符的两列

我有一个数据框,例如

COl1
scaffold_97606_2-BACs_-__SP1_1
UELV01165908.1_2-BACs_+__SP2_2
UXGC01046554.1_9-702_+__SP3_3
scaffold_12002_1087-1579_-__SP4_4
Run Code Online (Sandbox Code Playgroud)

我想将两者分成两列并得到:

COL1           COL2 
scaffold_97606 2-BACs_-__SP1_1
UELV01165908.1 2-BACs_+__SP2_2
UXGC01046554.1 9-702_+__SP3_3
scaffold_12002 1087-1579_-__SP4_4
Run Code Online (Sandbox Code Playgroud)

所以你可以看到分隔符的变化,它可以是.Number_Number_Number

到目前为止,我写道;

df2 <- df1 %>%
    separate(COL1, paste0('col', 1:2), sep = " the separator patterns ", extra = "merge")
Run Code Online (Sandbox Code Playgroud)

但我不知道我应该在这" the separator patterns "部分使用什么分隔符

regex r dataframe delimiter-separated-values

5
推荐指数
2
解决办法
62
查看次数

词典已满!使用 dplyr 时出现错误消息

你好,我正在尝试在字典上做一些事情,

这是一个头:

           V1 V2 V3  scaf_name
1: scaffold_0  1  1 scaffold_0
2: scaffold_0  2  1 scaffold_0
3: scaffold_0  3  1 scaffold_0
4: scaffold_0  4  1 scaffold_0
5: scaffold_0  5  1 scaffold_0
6: scaffold_0  6  1 scaffold_0
Run Code Online (Sandbox Code Playgroud)

这是我尝试过的代码:

tab3<-tab %>% 
    group_by(scaf_name) %>%  
    summarise(Avg_group=mean(V3),Length=last(V2))
Run Code Online (Sandbox Code Playgroud)

这是我收到的错误消息

Error: Internal error: Dictionary is full!
Run Code Online (Sandbox Code Playgroud)

这是标签的尺寸

> dim(tab)
[1] 852355422         4
Run Code Online (Sandbox Code Playgroud)

所以看起来数据帧对于使用 dplyr 来说太大了,有人知道我该如何克服这个问题吗?

非常感谢

这是 df 的一小部分

> dput(tab_bis)
structure(list(V1 = c("scaffold_0", "scaffold_0", "scaffold_0", 
"scaffold_0", "scaffold_0", "scaffold_0", "scaffold_0", "scaffold_0", 
"scaffold_0", "scaffold_0", "scaffold_0", "scaffold_0", "scaffold_0", 
"scaffold_0", …
Run Code Online (Sandbox Code Playgroud)

r dataframe dplyr

5
推荐指数
1
解决办法
1477
查看次数

如果存在于同一组中,则折叠行

大家好,我有一个数据框,例如:

  Group       family
1     A      Canidae
2     B      Canidae
3     A      Felidae
4     B      Canidae
5     C Elephantidae
6     C    Galinacae
7     D    Galinacae
8     D     Siuridae
9     E       Apidae
Run Code Online (Sandbox Code Playgroud)

我想折叠存在的Groupfamily(例如:

Canidae存在于AB 中, 因此我折叠并添加family2每个组的所有唯一值

Group family2
A,B   Canidae,Felidae 
Run Code Online (Sandbox Code Playgroud)

然后我继续,我看到Elephantidae 和 Galinacae都在C,而且Galinacae也在,D所以我崩溃了:

Group family2
A,B   Canidae,Felidae 
C,D   Elephantidae,Galinacae,Siuridae 
Run Code Online (Sandbox Code Playgroud)

最后我们应该得到:

Group family2
A,B   Canidae,Felidae 
C,D   Elephantidae,Galinacae,Siuridae 
E     Apidae 
Run Code Online (Sandbox Code Playgroud)

有人有想法吗?

这里的数据是为了诸如此类的事情吗?非常感谢您的帮助和时间。

如果有帮助,这里是数据:

structure(list(Group = structure(c(1L, …
Run Code Online (Sandbox Code Playgroud)

r dplyr

5
推荐指数
1
解决办法
167
查看次数

在熊猫的坐标行中只保留最大间隔

我有一个数据框,例如:

   Groups Name start end  sum
1      G1    A   451 954 1405
2      G1    B   451 951 1402
3      G1    C   451 969 1420
4      G1    D   463 870 1333
5      G1    E   463 888 1351
6      G1    X   230 450  680
7      G1    Z   229 450  681
8      G2    F   119 841  960
9      G2    G   118 842  960
10     G3    H   460 790 1250
11     G3    I   123 300 177
12     G4    J   343 878 1221
13     G4 …
Run Code Online (Sandbox Code Playgroud)

python python-3.x pandas pandas-groupby

5
推荐指数
1
解决办法
58
查看次数

使用 dplyr 创建新列

你好,我有一个 df,例如

Groups COL1 COL2
G1 1 A
G1 1 C
G1 2 A
G1 2 B
G1 5 C
G1 6 C
G2 7 B
G2 7 B
G2 8 C
G3 10 C
G3 10 A
G3 11 B
G4 12 C
G4 12 C
Run Code Online (Sandbox Code Playgroud)

这个想法是添加一个新列COL3

group_by(Groups, COL1) %>%
  mutate(COL3 = COL1(A>B>C))
Run Code Online (Sandbox Code Playgroud)

想法是,在组和 COL1 内,如果两个 COL2 值不同,如果 A 与 A 或 C 一起存在,则所有值都变为 A,如果 A 不存在但 B 在这里,则所有值变为 B,如果只有 C ,所有值都变成 C(它们已经是)。

所以 A > B …

r dplyr

4
推荐指数
2
解决办法
66
查看次数

ggplot2:无法将 `` 添加到 ggplot 对象

我生成了 2 个 ggplot 图形,现在我想将它们添加到同一个图形中,为此我只需添加+. 所以我有 2 个图:(1 个 ggtree 和 1 个热图)

我正在尝试将它们添加到同一个图中:

ggplot<- gg_tr + gg_heat + plot_annotation(tag_levels="A")
Run Code Online (Sandbox Code Playgroud)

但后来我收到以下问题消息:

Error : Can't add `gg_heat` to a ggplot object.
Run `rlang::last_error()` to see where the error occurred.
Run Code Online (Sandbox Code Playgroud)

r syntax-error ggplot2

4
推荐指数
1
解决办法
6488
查看次数

添加一个新列,其计数取决于 pandas 列表中的出现次数

我有一个数据框,例如

Groups SP   Letters
G1     SP1  A
G1     SP1  Z
G1     SP1  A
G1     SP2  X
G1     SP3  X
G1     SP4  B
G2     SP2  A
G2     SP5  B
G2     SP3  X
G2     SP23 A
Run Code Online (Sandbox Code Playgroud)

我想添加一列( ),它是每个列表中唯一值Nb_column的计数SPGroupsLettersthe_list=['A','B']

在这里我应该得到:

Groups SP   Letters Nb_column
G1     SP1  A       2
G1     SP1  Z       2
G1     SP1  A       2
G1     SP2  X       2
G1     SP3  X       2
G1     SP4  B       2
G2     SP2  A       3
G2     SP5  B       3
G2 …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

3
推荐指数
1
解决办法
95
查看次数

Cat 所有文件并在字符前添加标签作为文件名

大家好,我有seevral文件,例如

FILE1
>content
AGGAGAjg
GAUGAUGUG
AAG
FILE2
>Againontent
HDHDIHD
DHHDDHK
DH
Run Code Online (Sandbox Code Playgroud)

我想将所有这些文件归为一个独特的使用 cat FILE* >> Unique_file

还要>在每个文件中的之前添加文件名。

那么内容Unique_file将是:

>FILE1_content
AGGAGAjg
GAUGAUGUG
AAG
>FILE2_Againontent
HDHDIHD
DHHDDHK
DH
Run Code Online (Sandbox Code Playgroud)

linux awk sed cat

2
推荐指数
1
解决办法
78
查看次数

通过在 Pandas 中添加匹配的单元格内容来创建一个新列

大家好,当里面有特定的 grep 值时,我需要帮助来融合列包含。

这是一个例子

Species COL1 COL2         COL3           COL4     COL5
SPf_1   4    f_G1         None           None     None
SP1     9    -_Haploviric -_unclassified f_G3     None
SP1     36   k_Orthorn    f_G7           None     None
SP2     90   k_Orthorn    f_G3           p_Pisuvi None
SP3     32   None         None           None     f_83
SP3     2    -_Ribovi     Cattus         None     None
SP4     89   None         None           None     None
Run Code Online (Sandbox Code Playgroud)

然后我想添加一个名为 F_COL 的新列,我在其中为每一行放置了带有 的单元格内容f_ pattern。注意(我只需要检查COL1-5但不是Species也可以有 f_ 模式的列)。

我应该得到:

Species COL1 COL2         COL3           COL4     COL5 F_COL
SPf_1     4    f_G1         None           None     None f_G1 …
Run Code Online (Sandbox Code Playgroud)

python python-3.x pandas

2
推荐指数
1
解决办法
44
查看次数