小编HoH*_*oHo的帖子

在两个数据框中使相似列的顺序相同

我有两个数据框- DF1DF2

DF1
    RS1    R_Al1     B
    rs_12   A       -0.1
    rs_23   T        0.2
    rs_34   C        0.3

DF2
RS2   RefAl2   B
rs_12   C       0.5
rs_23   G      -0.3
rs_23   T       0.2
rs_34   C      -0.1
rs_23   G      -0.1
rs_34   C       0.7
rs_34   A       0.9
Run Code Online (Sandbox Code Playgroud)

我需要获得Columns RS1和的相同顺序RS2。如果两个数据帧之间的列长不同,该怎么办。

更新

预期的输出将是DF2$RS2这样的DF1$RS1

DF2$RS2

RS2    
rs_12
rs_23
rs_23
rs_23
rs_34
rs_34
rs_34
Run Code Online (Sandbox Code Playgroud)

r bioinformatics

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

用NA替换重复的元素,而不是删除它们

我有一个DF.它的一个列看起来像

DF$A
A
    a
    a
    a
    b
    b
    b
    c
    c
Run Code Online (Sandbox Code Playgroud)

我试图替换此列中的所有重复字符NA.天真的,我试过了

DF$A <- DFl[duplicated(DF$A),] <- NA
Run Code Online (Sandbox Code Playgroud)

但它只是将整个DF转换为NA值.谢谢你的任何建议.

r

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

在数据框中重新排序因子名称的级别

DF只有一个专栏:DF$A。这是我需要以特定方式重新排列名称的因素:

l
pheno
l.ldl.a
m.ldl.b
s.ldl.c
x.vldl.b
l.vldl.c
m.vldl.d
s.vldl.f
xs.vldl.h
xxl.vldl.a
xl.hdl.a
l.hdl.b
m.hdl.c
s.hdl.d
Run Code Online (Sandbox Code Playgroud)

我尝试根据两个column 2顺序重新创建DF$A

reorderLevels <- c(XXL.VLDL,XL.VLDL,L.VLDL,M.VLDL,S.VLDL,XS.VLDL, 
                   IDL,L.LDL,M.LDL,S.LDL,XL.HDL,L.HDL,M.HDL,S.HDL)
Run Code Online (Sandbox Code Playgroud)

无需关心名称的最后一部分。

我知道如何根据名称的第一部分(第一个点之前)或根据名称的第二部分(点之间的部分)重新排序,但是我不知道如何根据名称的两个部分进行排序。

到目前为止,我可以使用以下命令对其重新排序,但仅根据名称的一部分

l1 <- l %>% mutate(m2 = match(sapply(strsplit(l$pheno, "[.]"),
                          function(x) x[1]), reorderLevels)) %>%
            arrange(m2) %>%
            select(-m2)
Run Code Online (Sandbox Code Playgroud)

sorting r r-factor

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

标签 统计

r ×3

bioinformatics ×1

r-factor ×1

sorting ×1