如果这是一个基本问题,我道歉。我是R的新手。
我有一个数据集DAT,它有3个变量:ID,V1和V2。不幸的是,许多情况下都缺少V2数据。我想创建一个新变量V3。我希望V3具有与V2相同的值,但对于任何具有V2缺失值的情况,我希望V3取代V1的值。 R中最有效的方法是什么?
答案 0 :(得分:1)
使用dplyr
包的一种方法。
# Step 1: Load verb-like data wrangling package.
library(dplyr)
# Step 2: Create some data.
df <- data.frame(ID=1:5, V1 = 11:15, V2 = c(31:33, NA, NA))
ID V1 V2 1 11 31 2 12 32 3 13 33 4 14 NA 5 15 NA
# Step 3: Create a variable V3 using your criteria
df <- mutate(df, V3 = if_else(is.na(V2), V1, V2))
ID V1 V2 V3 1 11 31 31 2 12 32 32 3 13 33 33 4 14 NA 14 5 15 NA 15
如果你有一个大数据框,使用data.table包可能会更有效。
答案 1 :(得分:0)
您也可以使用ifelse语句。
DAT $ V3&lt; - ifelse(is.na(DAT $ V2),DAT $ V1,DAT $ V2)
读取好像V2为空,然后使用V1,否则使用V2中的数据。