如何组合两个缺失值的向量?

时间:2015-06-17 01:41:57

标签: r

我有两个相同长度的向量,我正在尝试将它们组合起来,以便它们填写彼此缺少的值。例如:

a=c("",1,2,"")
b=c(5,"","",6)

我正在寻找这个输出:

5 1 2 6

非常感谢

5 个答案:

答案 0 :(得分:5)

在这种情况下,通过pmax进行的正常数值比较也有效:

as.numeric(pmax(a,b))
#[1] 5 1 2 6

这是因为当max / min等应用于字符数据时,R将采用字母数字排序:

max(c("b","a"))
#[1] "b"

答案 1 :(得分:5)

as.numeric(paste(a,b))
[1] 5 1 2 6

答案 2 :(得分:4)

或者:

a[a==""] <- b[b!=""]
as.numeric(a)
# [1] 5 1 2 6

答案 3 :(得分:3)

SqlCommand sqlCmd = 
@"SELECT 
    [TeamID], 
    [TeamName], 
    [SportsType], 
    [ContactName], 
    [ContactPhone], 
    [ContactEmail] 
FROM [Teams] 
WHERE CompanyID = (
    SELECT CompanyID 
    FROM Company 
    WHERE companyadminUserName = @loggedInUser
) 
OR CompanyID = (
    SELECT CompanyID 
    FROM Employee 
    WHERE EmployeeBarcodeNumber = @loggedInUser
)";

sqlCmd.Parameters.Add(new SqlParameter("@loggedInUser", SqlDbType.NVarChar) { Value = loggedInUser });

答案 4 :(得分:3)

as.numeric(ifelse(a != "", a, b))