小编bio*_*ard的帖子

删除另一个数据框中存在的行?

我有以下两个数据框(示例):

DF1:

name    profile    type    strand
A       4.5        1       +
B       3.2        1       +
C       5.5        1       +
D       14.0       1       -
E       45.1       1       -
F       32.8       1       -
G       19.9       1       +
Run Code Online (Sandbox Code Playgroud)

DF2:

name
A
B
C
G
Run Code Online (Sandbox Code Playgroud)

我想删除行df1对于其df1$name = df2$name获得如下:

输出:

name    profile    type    strand
D       14.0       1       -
E       45.1       1       -
F       32.8       1       -
Run Code Online (Sandbox Code Playgroud)

如果有人能告诉我使用哪一段代码会有很多帮助,起初看起来很简单但是我从昨天起就搞乱了.

r duplicate-removal delete-row dataframe corresponding-records

35
推荐指数
2
解决办法
3万
查看次数

如何打破只有一个嵌套循环

我有两个制表符分隔的文件,我需要测试第一个文件中的每一行与另一个文件中的所有行.例如,

文件1:

row1    c1    36    345   A
row2    c3    36    9949  B
row3    c4    36    858   C
Run Code Online (Sandbox Code Playgroud)

文件2:

row1    c1    3455  3800
row2    c3    6784  7843
row3    c3    10564 99302
row4    c5    1405  1563
Run Code Online (Sandbox Code Playgroud)

假设我想输出(file1)中的所有行,其中file1的col [3]小于file2的任何(不是每个)col [2],因为col [1]是相同的.

预期产量:

row1    c1    36    345   A
row2    c3    36    9949  B
Run Code Online (Sandbox Code Playgroud)

由于我在Ubuntu工作,我希望输入命令看起来像这样:
python code.py [file1] [file2] > [output]

我写了以下代码:

import sys

filename1 = sys.argv[1]
filename2 = sys.argv[2]

file1 = open(filename1, 'r')
file2 = open(filename2, 'r')

done = False

for x in file1.readlines(): …
Run Code Online (Sandbox Code Playgroud)

python loops nested break

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

R中重复行之间的平均值

我有一个数据框df,其行与名称列重复,但不是值列的重复:

name    value   etc1    etc2
A       9       1       X
A       10      1       X
A       11      1       X
B       2       1       Y
C       40      1       Y
C       50      1       Y
Run Code Online (Sandbox Code Playgroud)

我需要将重复的名称聚合成一行,同时计算值列的平均值.预期产量如下:

name    value   etc1    etc2
A       10      1       X
B       2       1       Y
C       45      1       Y
Run Code Online (Sandbox Code Playgroud)

我试过用,df[duplicated(df$name),]但当然这并没有给我重复的意思.我想使用aggregate(),但问题是此函数的FUN部分也将适用于所有其他列,并且除了其他问题之外,它将无法计算char内容.由于所有其他列都具有与"重复"相同的内容,因此我需要将它们聚合,就像名称列一样.任何提示......?

aggregate r duplicates mean

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

在分组条形图R上旋转X轴标签45度

如何在R中的分组条形图上将X轴标签旋转45度?

我已经尝试了这里建议的解决方案,但是有些东西非常混乱,标签似乎已经多次添加(仅显示轴部分以保护数据隐私): 在此输入图像描述

这个解决方案(gridBase)对我来说也不成功,出于某种原因我收到以下错误:

"无法弹出顶级视口(网格和图形输出混合?)"

PS.大多数人似乎都在R base中推荐这个解决方案,但我也坚持这个,因为我不明白他们指的是什么数据(我需要某种示例数据集来理解新的命令行......).

这些解决方案是否无效,因为我的条形图是一个分组的条形图?或者它应该工作吗?欢迎任何建议,我已经坚持了一段时间.谢谢.

[edit]根据要求我添加了用于生成上图的代码(基于text()解决方案之一):

data <- #this is a matrix with 4 columns and 20 rows;
        #colnames and rownames are specified.
        #the barplot data is grouped by rows

lablist <- as.vector(colnames(data))

barplot(data, beside=TRUE, col=c("darkred","red","grey20","grey40"))
text(1:100, par("usr")[1], labels=lablist, srt=45, pos=1, xpd=TRUE)
Run Code Online (Sandbox Code Playgroud)

axis r rotation labels bar-chart

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

R - 如何按行索引号重新排序数据

这可能是一个非常基本的问题,但我找不到它.假设我有一个数据框d,其行号无序,如下所示:

    Signal
4   9998
3   549
1   18
5   2.342
2   0.043
Run Code Online (Sandbox Code Playgroud)

如何通过增加行索引号来对此进行排序以获得以下内容?

    Signal
1   18
2   0.043
3   549
4   9998
5   2.342
Run Code Online (Sandbox Code Playgroud)

indexing numbers row r dataframe

7
推荐指数
2
解决办法
2万
查看次数

如何按用户定义的数据框排序(例如非字母顺序)

给定一个数据框架 dna

> dna
chrom   start
chr2    39482
chr1    203918
chr1    198282
chrX    7839028
chr17   3874
Run Code Online (Sandbox Code Playgroud)

以下代码dna$chrom字母升序和$start数字升序重新排序:

> dna <- dna[with(dna, order(chrom, start)), ]
> dna
chrom   start
chr1    198282
chr1    203918
chr17   3874
chr2    39482
chrX    7839028
Run Code Online (Sandbox Code Playgroud)

但是,我希望能够$chrom按如下方式进行排序(为了我的例子,这里简化了):

chrom_order <- c("chr1","chr2", "chr17", "chrX")
Run Code Online (Sandbox Code Playgroud)

我不允许重命名的东西,例如chr1chr01.

sorting r function

6
推荐指数
1
解决办法
9790
查看次数

在pandas中读取没有标题的制表符分隔数据

我无法pandas在没有标题的情况下打开制表符分隔的数据.

我的测试数据(实际上包含200行,其中我显示的是前10行):

Tag19184    CTAAC   hffef   1   a   36  -   chr1    10006   0   36M 36
Tag19184    CTAAC   hffef   1   a   36  -   chr1    10012   0   36M 36
Tag19184    CTAAC   hffef   1   a   36  -   chr1    10018   0   36M 36
Tag19184    CTAAC   hffef   1   a   36  -   chr1    10024   0   36M 36
Tag19184    CTAAC   hffef   1   a   36  -   chr1    10030   0   36M 36
Tag19184    CTAAC   hffef   1   a   36  -   chr1    10036   0   36M 36
Tag19184    CTAAC   hffef   1 …
Run Code Online (Sandbox Code Playgroud)

python tab-delimited dataframe pandas

6
推荐指数
1
解决办法
8992
查看次数

R:使用strsplit()在两个字符之间拆分字符串

假设我有以下字符串:

s <- "ID=MIMAT0027618;Alias=MIMAT0027618;Name=hsa-miR-6859-5p;Derives_from=MI0022705"
Run Code Online (Sandbox Code Playgroud)

我想恢复之间的字符串";""="获得以下输出:

[1] "MIMAT0027618"  "MIMAT0027618"  "hsa-miR-6859-5p"  "MI0022705"
Run Code Online (Sandbox Code Playgroud)

我可以使用strsplit()多个拆分元素吗?

split r strsplit

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

对数据框进行排序,同时保留原始行ID和尺寸

我想做的很简单.我想对这个数据框进行排序df:

    Signal
1   18
2   0.043
3   549
4   9998
5   2.342
Run Code Online (Sandbox Code Playgroud)

通过Signal,为了获得这个:

    Signal
4   9998
3   549
1   18
5   2.342
2   0.043
Run Code Online (Sandbox Code Playgroud)

保存原始行ID非常重要.

我尝试了sort(df$Signal),df[sort(df$Signal),]但它给了我一个清单.

sorting r numeric

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

从数据框中删除所有引号

我有一个如下所示的数据框rep:

> head(rep)
     position chrom  value label  
[1,] "17408"  "chr1" "0"   "miRNA"
[2,] "17409"  "chr1" "0"   "miRNA"
[3,] "17410"  "chr1" "0"   "miRNA"
[4,] "17411"  "chr1" "0"   "miRNA"
[5,] "17412"  "chr1" "0"   "miRNA"
[6,] "17413"  "chr1" "0"   "miRNA"
Run Code Online (Sandbox Code Playgroud)

如何从所有元素中删除引号?

注意:rep$position并且rep$value应该是numerictype,rep$chrom并且rep$label应该是charactertype.

r quotation-marks removeall dataframe

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