我有一个看起来像这样的数据集
ID d1 d2
1 G G
2 A G
3 A A
4 G A
5 NA NA
6 G G
我想根据d1和d2
的值添加另一列ID d1 d2 new
1 G G GG
2 A G AG
3 A A AA
4 G A GA
5 NA NA NA
6 G G GG
答案 0 :(得分:1)
我们可以使用paste
df1$new <- with(df1, ifelse(is.na(d1)|is.na(d2), NA, paste0(d1, d2)))
df1$new
#[1] "GG" "AG" "AA" "GA" NA "GG"
答案 1 :(得分:0)
df <- within(df,new <- paste(d1,d2,sep=""))
df$new <-replace(df$new,df$new%in%"NANA",NA)
id d1 d2 new
1 1 G G GG
2 2 A G AG
3 3 A A AA
4 4 G A GA
5 5 <NA> <NA> <NA>
6 6 G G GG
如果要从数据中删除NA行,可以使用
df <- within(subset(df,!is.na(d1)&!is.na(d2)),new <- paste(d1,d2,sep=""))
id d1 d2 new
1 1 G G GG
2 2 A G AG
3 3 A A AA
4 4 G A GA
6 6 G G GG
答案 2 :(得分:0)
您还可以尝试使用mutate
包中的dplyr
功能。