我有以下两个数据框(示例):
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
我有两个制表符分隔的文件,我需要测试第一个文件中的每一行与另一个文件中的所有行.例如,
文件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) 我有一个数据框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内容.由于所有其他列都具有与"重复"相同的内容,因此我需要将它们聚合,就像名称列一样.任何提示......?
如何在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) 这可能是一个非常基本的问题,但我找不到它.假设我有一个数据框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) 给定一个数据框架 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)
我不允许重命名的东西,例如chr1
对chr01
.
我无法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) 假设我有以下字符串:
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()
多个拆分元素吗?
我想做的很简单.我想对这个数据框进行排序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),]
但它给了我一个清单.
我有一个如下所示的数据框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
应该是numeric
type,rep$chrom
并且rep$label
应该是character
type.