【发布时间】:2019-02-10 03:36:00
【问题描述】:
我正在尝试生成一个数据帧,该数据帧在现有数据帧中使用 for 循环(可能)来生成信息并替换或写入新的 df
我有一个非常大的数据框,我想生成一个新的数据框,将所有行与数据框中的单个参考行进行比较。如果单元格与参考行中的同一列单元格匹配,则新数据框将简单地说 T(true),如果不匹配,则显示 F(false)。
给定一个数据框(df):
Name pos1 pos2 pos3 pos4
JU1 6 7 9 8
JU2 6 4 5 7
JU3 6 7 5 4
JU4 4 8 5 4
我想使用 JU3 作为我的参考行来生成一个具有相同列和行标题的新 df,它将为每行中与参考行匹配的所有单元格返回一个 true(T) 和一个 false(F)如果没有。
预期的结果将是一个数据框(df2):
Name pos1 pos2 pos3 pos4
JU1 T T F F
JU2 T F T F
JU3 T T T T
JU4 F F T T
我一直在使用 if-else 命令玩 for 循环,但我通常是编码新手,所以我还没有走得太远。我不完全确定我是否可以简单地覆盖现有的数据框,或者完全编写一个新的 csv 文件或表更有意义。我确定这是一个非常简单的问题,但非常感谢任何帮助或指导!
【问题讨论】:
-
参考值是多少?它是动态的还是始终相同?
-
这是一个开始:
z == z[rep(3, nrow(z)),] -
@NelsonGon 为迟到的回复道歉,它总是一样的。我会尝试这些建议!