我有一个 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)