【问题标题】:Having a basic issue using merge function使用合并功能有一个基本问题
【发布时间】:2014-02-11 17:05:04
【问题描述】:

我在使用 merge() 时遇到问题

我有两个数据框,一个是我从 SPSS (ssfia) 导入的,另一个是我自己创建的。后者包含一个变量,用于索引前者中两个变量之间的重叠程度。

match<-ifelse(ssfia$Func_Source==ssfia$Symptom_Source,1,0)

我想通过 SPSS 数据集 (ssfia) 的“ID”来合并这个新的“匹配”变量,所以我用 ID 和我的新匹配变量创建了一个数据框。

matchf<-data.frame(match,ssfia$ID)

现在我尝试合并它们...

merge(ssfia,matchf,by="ID")

它给了我以下错误:

Error in fix.by(by.y, y) : 'by' must specify uniquely valid column(s)

我尝试在这个网站上搜索类似的问题,但其他人似乎都有一个更细微的问题。我猜这将是一件非常简单的事情。任何帮助将不胜感激!

【问题讨论】:

  • matchf 的名称是什么?该错误表明matchf中不存在ID这样的列。
  • 太棒了!由于某种原因,级别是:(匹配)和(ssfia.ID),而不是(匹配)和(ID)。该代码现在正在运行。谢谢!

标签: r merge match


【解决方案1】:

如 cmets 中所述,matchf 中可能不存在该列。试试:

matchf <- data.frame(match, ID=ssfia$ID)

然后重新运行合并。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-24
    • 1970-01-01
    • 2017-07-01
    • 2011-05-16
    • 1970-01-01
    • 2021-09-20
    • 2020-12-25
    • 2019-10-16
    相关资源
    最近更新 更多