For this to be properly answerable you need to define your terms more clearly. Do you mean the | symbol, or do you mean a specific operation? In the latter case, exactly what semantics do you have in mind? How is the "pipe operator" in R, in your mind, related to the one in shell scripting? What does it do, fundamentally - and why would that have meaning in other programming languages?
I'll try to guess what you mean and answer as best I can; the summary is that I don't think you properly understand what's out there already, so it doesn't make sense to ask "why" questions yet.
If you simply mean the | operator, many programming languages - including Python - define | as a bitwise OR on some numeric types; and many - including Python - allow the user to define its semantics for user-defined types.
That said, it seems more like you really do have specific semantics in mind, rather than that symbol. I don't know R, but based on what my search query turned up first (https://www.statology.org/pipe-in-r/), it seems that by "pipe operator in R" you mean %>%, which allows for chaining operations on an input. In languages that support an object-oriented style with method calls, you do this by just... repeatedly calling methods, and having each return an instance of the type needed for the next step (in common cases, another instance of the same type). There's no need for any special syntax because it's an automatic consequence of how method calls work.
Code is written like that all the time in JavaScript, in fact. In the Python culture, though, there is a relatively strong expectation of command-query separation (https://en.wikipedia.org/wiki/Command%E2%80%93query_separati...). It's still possible to connect operations together this way, but there's an expectation that each operation creates a new result object (even if it's of the same type) and leaves the original input object unmodified. Thus, you're expected to do something with the overall result of such a chain, because your input data hasn't been modified. (This can also be viewed as a functional programming - https://en.wikipedia.org/wiki/Functional_programming - idiom.)
Great answer. Just wanted to add that JavaScript is also moving towards a similar immutable, functional style. The old style of chaining together a lot of calls is not as common anymore.
I'll try to guess what you mean and answer as best I can; the summary is that I don't think you properly understand what's out there already, so it doesn't make sense to ask "why" questions yet.
If you simply mean the | operator, many programming languages - including Python - define | as a bitwise OR on some numeric types; and many - including Python - allow the user to define its semantics for user-defined types.
That said, it seems more like you really do have specific semantics in mind, rather than that symbol. I don't know R, but based on what my search query turned up first (https://www.statology.org/pipe-in-r/), it seems that by "pipe operator in R" you mean %>%, which allows for chaining operations on an input. In languages that support an object-oriented style with method calls, you do this by just... repeatedly calling methods, and having each return an instance of the type needed for the next step (in common cases, another instance of the same type). There's no need for any special syntax because it's an automatic consequence of how method calls work.
Code is written like that all the time in JavaScript, in fact. In the Python culture, though, there is a relatively strong expectation of command-query separation (https://en.wikipedia.org/wiki/Command%E2%80%93query_separati...). It's still possible to connect operations together this way, but there's an expectation that each operation creates a new result object (even if it's of the same type) and leaves the original input object unmodified. Thus, you're expected to do something with the overall result of such a chain, because your input data hasn't been modified. (This can also be viewed as a functional programming - https://en.wikipedia.org/wiki/Functional_programming - idiom.)