我有两个相同长度的向量,我正在尝试将它们组合起来,以便它们填写彼此缺少的值。例如:
a=c("",1,2,"")
b=c(5,"","",6)
我正在寻找这个输出:
5 1 2 6
非常感谢
答案 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))