用R中相邻列中的字符替换列中的字符?

用R中相邻列中的字符替换列中的字符?,r,R,大家好,我需要用相邻列中的字符替换数据帧中的字符: 所以我想用列族中正确的家族名称替换列属中的字符“uncultured”。我给了您一些示例数据,这就是我的列的外观,尽管我的真实数据中有1300多个列。 我可以用正确的族替换列genus中的NA值,但是我被卡住了: molekc$genus[is.na(molekc$genus)] <- molekc$family[is.na(molekc$genus)] family <- c("choreo","Nassophorea","ch

大家好,我需要用相邻列中的字符替换数据帧中的字符: 所以我想用列族中正确的家族名称替换列属中的字符“uncultured”。我给了您一些示例数据,这就是我的列的外观,尽管我的真实数据中有1300多个列。 我可以用正确的族替换列genus中的NA值,但是我被卡住了:

molekc$genus[is.na(molekc$genus)] <- molekc$family[is.na(molekc$genus)]

family <- c("choreo","Nassophorea","choreo","Phyllopharyngea","Choreo","Oligo")

genus <- c("choreo","uncultured","choreo","uncultured","Pithites","Tintinnopsis")

stack <- data.frame(family,genus, stringsAsFactors = FALSE)

molekc$genus[is.na(molekc$genus)]下面是ifelse的解决方案:

stack$genus <- with(stack, ifelse(genus =='uncultured', family, genus))

stack$genus
molekc$genus[molekc$genus==“uncultured”]@Aurèle谢谢,效果很好!
stack$genus <- with(stack, ifelse(genus =='uncultured' | is.na(genus), family, genus))