Based on that code and the API documentation for
PickupEquipmentSet, it looks like you need to use the set index, not the set name, and I'd expect this to work:
Code:
frame:SetAttribute("type", "equipmentset")
frame:SetAttribute("equipmentset", 4)
If you want to let the user enter a name instead of an index, you can find the index like this:
I'm not that knowledgable about the equipment set API in general, though... if the indices are not fixed (eg. they can change if the user renames the set or adds a new set) then you probably want to store the set by name, and check its ID every time something changes.