0

我有一个 FFDF 对象,我想在其中创建虚拟变量。具体来说,我有一个单独的名称向量,如果该向量中的名称与我在 FFDF 中的列向量中的名称匹配,我想创建虚拟变量.

例如,假设我有这个向量和这个 FFDF 对象:

Name
1. Blow, Joe
2. Smith, John
3. Jones, Tom 
etc....

DonorName     CandidateName DonationAmount CandidateParty
1   blow joe Bush, George W          3,000     Republican
2   guy some  Obama, Barack          5,000       Democrat
3 smith john    Reid, Harry          4,000       Democrat

我想做的是在 FFDF 文件中创建一个单独的列,如果“Name”中的名称与“DonorName”中的名称匹配,则将其设为 1。通常,我可以使用 ifelse() 命令,但 ff 版本 (ffifelse) 给了我这个错误:“测试需要是逻辑/布尔 ff 向量。” 我还应该补充一点,我已经使用 as.ffdf() 命令将第一个向量强制转换为 ffdf 对象。

编辑:

我想我终于可以让它工作了。这行代码似乎起到了作用。

    ffdfobject$colname <- ffifelse(ffdfobject$DonorName %in% otherffdfobj$name, 1,0)
4

0 回答 0