将一个数据帧的值替换为另一个单元格的值

时间:2020-06-05 15:47:03

标签: r dataframe for-loop replace apply

我想用另一个数据框的值替换一个空数据框的值。 我使用了for循环,但是有一个较大的数据框350k行。

因此,空数据框的代码为:

D<-as.data.frame(matrix(NA,nrow = (nrow(Ok)-1),ncol = (nrow(Ok)-1)))

姓氏(D)<-事实 行名(D)<-因子

看起来像这样

头(D)

    A02 A04 A08 A09 A15 A16 A17 A26 A37 A40 A41 A42 A46 A48 A52 A63 A87 B02 B07 B18 B24 B25 B26 B33 B34 B37 B44 B50 B99 C00 C02 C03 C04 C05 C07
A02   0  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA
    C09 C10 C12 C13 C14 C15 C16 C17 C18 C19 C20 C21 C22 C23 C25 C32 C34 C37 C38 C40 C41 C43 C44 C48 C49 C50 C53 C54 C56 C57 C60 C61 C62 C64 C65
A02  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA
    C66 C67 C69 C71 C72 C73 C77 C78 C79 C80 C81 C82 C83 C84 C85 C90 C91 C92 C93 D00 D01 D03 D04 D05 D06 D07 D09 D10 D11 D12 D13 D14 D15 D16 D17
A02  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA

我想用表cas5中看起来像这样的值替换Nas

head(cas5)
        I   J    comb mat_IJ mat_JI  L2L n L2L_op n_op valueD
    1 A02 A04 A02 A04      0      0 <NA> 0   <NA>    0    0.0
    2 A02 A08 A02 A08      0      0 <NA> 0   <NA>    0    0.0
    3 A02 A09 A02 A09      0      1 <NA> 0   <NA>    0   -0.5
    4 A02 A15 A02 A15      0      0 <NA> 0   <NA>    0    0.0
    5 A02 A16 A02 A16      0      0 <NA> 0   <NA>    0    0.0
    6 A02 A17 A02 A17      0      0 <NA> 0   <NA>    0    0.0

我想要一个看起来像这样的结果 D [“ A02”,“ A04”] = 0.0 不使用for循环,因为cas5有385003行。

在此先感谢您的宝贵时间和帮助。

0 个答案:

没有答案