【发布时间】:2019-10-24 16:57:53
【问题描述】:
我有一个包含两列的数据框“df”。第 2 列包含有效字符串和用“NA”填充的缺失值。
输入示例:
> df
ENSMMUG00000023296 PGBD2
ENSMMUG00000036181 U6
ENSMMUG00000064799 NA
ENSMMUG00000057389 LYPD8
我想用第 1 列中的相应值替换“NA”值。实现以下输出。
所需的输出示例:
> df
ENSMMUG00000023296 PGBD2
ENSMMUG00000036181 U6
ENSMMUG00000064799 ENSMMUG00000064799
ENSMMUG00000057389 LYPD8
我尝试使用 zoo 包中的 na.locf 工具执行此操作,但我不明白如何指定应从第 1 列获取替换值。
尝试失败:
> library(zoo)
> na.locf(df)
ENSMMUG00000023296 PGBD2
ENSMMUG00000036181 U6
ENSMMUG00000064799 U6
ENSMMUG00000057389 LYPD8
【问题讨论】:
-
只要
df$col2[is.na(df$col2)] <- df$col1[is.na(df$col2)]。 (假设'df'是一个data.frame。请用你的列名更改列名)