如何用下一列中的值填充NA中的值?

时间:2020-11-09 11:08:48

标签: r dataframe

我有一个数据框:

Type   value1                                           value2            
1    Error: unexpected                                seq warn
2    Warning message                                  excepted action 
3    NA                                               produce values
4    In `[<-.factor`(`*tmp*`, iseq, value = "v1")     values produced 
5    NA                                               rewriting data

我想用列value2中的值填充列value1中的NA。我该怎么写条件?所需的结果是:

Type   value1                                           value2            
1    Error: unexpected                                seq warn
2    Warning message                                  excepted action 
3    produce values                                   produce values
4    In `[<-.factor`(`*tmp*`, iseq, value = "v1")     values produced 
5    rewriting data                                   rewriting data

2 个答案:

答案 0 :(得分:1)

您可以使用coalesce

library(dplyr)
df %>%  mutate(value1 = coalesce(value1, value2))

或者在基数R中:

transform(df, value1 = ifelse(is.na(value1), value2, value2))

答案 1 :(得分:1)

我们可以使用string jsonrpc中的 var responseBody = await response.Content.ReadAsByteArrayAsync().ConfigureAwait(false); using Stream ms = new MemoryStream(responseBody); var serializationOptions = new JsonSerializerOptions() { IgnoreNullValues = true, Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping, }; LanguagesResponse responseObject = await JsonSerializer.DeserializeAsync<LanguagesResponse>(ms, serializationOptions, token).ConfigureAwait(false);

fcoalesce