【问题标题】:Replace cells of a table based on a vector (except for blank cells and without a dictionary)根据向量替换表格的单元格(空白单元格和没有字典的单元格除外)
【发布时间】:2021-11-25 16:08:26
【问题描述】:

我有一个这样的表(第一行是表头):

ID Sire Dam
EL SF NA
GN SF UJ
SF SF NA

还有一个像这样的向量:

G<-c("10325", "6788" ,"1140","6788","6789" , "14140", "6788" )

我想知道如何根据该向量替换表格的单元格(空白单元格除外)以获取此表格(没有字典):

ID Sire Dam
10325 6788 NA
1140 6788 6789
14140 6788 NA

【问题讨论】:

    标签: r dplyr data.table tidyverse


    【解决方案1】:

    这是执行此操作的一种方法 -

    tmp <- t(df)
    df[] <- t(replace(tmp, !is.na(tmp), G))
    df
    
    #     ID Sire  Dam
    #1 10325 6788 <NA>
    #2  1140 6788 6789
    #3 14140 6788 <NA>
    

    替换按列工作,但您正在按行更改值,因此需要转置。

    【讨论】:

    • 谢谢!它有效。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-14
    • 2017-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多