r - If Else on variables and Merge in R
问题描述
合并两个数据集时遇到问题。假设有 2 个数据集 A 和 B。通过将目标变量为 abc 的 X 和 Y 合并形成 A。
因此,当我合并 A 和 B 时,已经形成的 A 的结果不会反映在 A 和 B 的最终数据集上。随着我合并 A 和 B 时,我的数据记录数在最终数据集中会增加。我尝试了 unique() 和 distinct() 函数,但无法将它们应用于特定的关键变量,如协议 ID。
解决方案
欢迎来到堆栈溢出!
由于缺乏细节,很难确切知道如何解决您的问题。将来请尝试更精确,并举例说明您的数据是什么样的。
我想你的两个数据集 A 和 B 是数据框。而不是使用合并尝试 cbind。当然,如果您的数据集有不同的行数,cbind 将不起作用。下面的代码将 NA 添加到行数最少的数据帧中。这将使两个数据帧具有相同的行数,因此 cbind 将起作用。这不是最优雅的解决方案,但它可能会起作用。
if(nrow(A) > nrow(B)){
num.rows <- nrow(A)
}else{
num.rows <- nrow(B)
}
if (nrow(A) == num.rows){
n = nrow(A) - nrow(B)
new.rows <- data.frame(1:n)
for(i in 1:nrow(new.rows)){
new.rows[i,,] <- NA
}
B <- rbind(new.rows, B)
}else{
n = nrow(B) - nrow(A)
new.rows <- data.frame(1:n)
for(i in 1:nrow(new.rows)){
new.rows[i,,] <- NA
}
B <- rbind(new.rows, B)
}
推荐阅读
- c# - 如何将我的数据放入 PickerViewModel
- elasticsearch - Elasticsearch:将 copy_to 与子对象一起使用的正确方法是什么
- python - 以编程方式调用网站时无法握手网站
- apache-spark - Spark:和 RDD 一样,Datasets 和 Dataframes 也是不可变的?
- typescript - 使用 Typescript 反应原生数组表示法
- swift - 在 SwiftUI 中使用自定义形状平铺矩形
- python - 使用 python pandas 和 scikit learn 进行情感分析
- forms - 忍者形式+条件逻辑
- c# - 如何使用json反序列化二维数组
- python - jsonlib 构建轮子失败 | Linux 薄荷 19