我有一个名为data.table
的temp:
PID PID_Gen
a NA
c c1
b NA
d d1
以下内容评估PID_Gen
是否为NULL
,并在这种情况下分配PID
的值。
temp$result <- future_sapply(temp$PID_Gen,
FUN = function(x) if(is.na(x)) {temp$PID})
问题是它溢出了内存。
我可以使用其他替代方法吗?
答案 0 :(得分:3)
这是我的方法:
temp <- read.table(text = "PID PID_Gen
a NA
c c1
b NA
d d1", header = TRUE, stringsAsFactors = FALSE)
temp$result <- ifelse(is.na(temp$PID_Gen), temp$PID, temp$PID_Gen)
答案 1 :(得分:2)
这是您想要的结果吗?
df <- read.table(text = "PID PID_Gen
a NA
c c1
b NA
d d1", header = TRUE, stringsAsFactors = FALSE)
df$PID_Gen[is.na(df$PID_Gen)] <- df$PID[is.na(df$PID_Gen)]
print(df)
#> PID PID_Gen
#> 1 a a
#> 2 c c1
#> 3 b b
#> 4 d d1
由reprex package(v0.2.1.9000)于2019-02-03创建