99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
2019-02-28 閱讀量: 1528
在ID中用R子集替換NA中的999

我在R中創(chuàng)建了以下數(shù)據(jù)幀

df<-data.frame("ID"=c("A", "A", "A", "B", "B", "B"),"II"=c(NA, NA,

NA,1,2,3),"JJ"=c(1,2,3, NA, NA, NA), 'KK'=c(1,2,NA, NA, 5,6))

生成的數(shù)據(jù)幀如下

ID II JJ KK

A NA 1 1

A NA 2 2

A NA 3 NA

B 1 NA NA

B 2 NA 5

B 3 NA 6

我希望通過ID值對數(shù)據(jù)幀進行子集化,并將僅包含NA值的所有列替換為999.結果應如下所示

ID II JJ KK

A 999 1 1

A 999 2 2

A 999 3 NA

B 1 999 NA

B 2 999 5

B 3 999 6

我試過這段代碼

library(dplyr)

df%>%

group_by(ID)%>%

select(II, JJ,KK)%>%

mutate_if(df[, colSums(is.na(df)) == nrow(df)]<999)

我收到以下錯誤

Adding missing grouping variables: `ID`

Error in tbl_if_vars(.tbl, .p, .env, ..., .include_group_vars =

.include_group_vars) :

length(.p) == length(tibble_vars) is not TRUE

解決辦法:data.table解決方案:

library(data.table)

setDT(df)

df[, lapply(.SD,

function(col) if (all(is.na(col))) 999 else col),

by = ID]

# ID II JJ KK

# 1: A 999 1 1

# 2: A 999 2 2

# 3: A 999 3 NA

# 4: B 1 999 NA

# 5: B 2 999 5

# 6: B 3 999 6

我們遍歷所有.SDcols列wioth lapply并替換它們,999如果所有的都是NA

0.0000
2
關注作者
收藏
評論(0)

發(fā)表評論

暫無數(shù)據(jù)
推薦帖子