Well, to implement EdDSA in a 'streaming' mode, there are two options:
You could do 'prehashing'; that is, hashing the message and then signing the hash.
You could modify how $R$ is generated - instead, on relying on SHAKE256(dom(F, C) || prefix || M, 114), you could generate that value randomly.
Neither option is perfect. With prehashing, the verifier has to know you're doing this (rather than directly signing the data).
As for modifying how $R$ is generated (which is interoperable with standard verifiers), you need to understand why EdDSA was specified that way. Traditional ECDSA implementations relied very heavily on their randomness sources when signing; if they generated two different signatures with the same $R$, they just leaked the private key. When they designed EdDSA, they didn't want to leave that foot gun in place, and so they designed a system so that for any two different messages, unrelated $R$ values will be used.
By changing how $R$ is generated, you are putting that foot gun back into place. It is safe if your source of randomness is good - however, you need to keep that in mind (and if you're not absolutely convinced you can guarantee that, well, perhaps prehashing is your best option)