Why dollar sign in str function

hello everyone, actually when we use str function, why it prints a dollar$ sign before variable names?

because $ is the symbol used to extract a named object from a list.
e.g. for mtcars

mtcars$disp

ok
but it's an output so there's no need of them, instead without the signs, data would be more clearer, then why they have been included?
Also if you have any reference for what you say, pls cite it so that i can extensively study it myself, cause actually i am bit more curious about anything​:sweat_smile::sweat_smile:

in your R console type:

 ?`$`

i couldn't understand much in the documentation

The documentation of str demonstrates an argument: comp.str. You are free to set it as you want, for example empty string to omit a symbol while showing str output on console.

> str(mtcars, comp.str="")
'data.frame':	32 obs. of  11 variables:
 mpg : num  21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
 cyl : num  6 6 4 6 8 6 8 4 4 6 ...
 disp: num  160 160 108 258 360 ...
 hp  : num  110 110 93 110 175 105 245 62 95 123 ...
 drat: num  3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
 wt  : num  2.62 2.88 2.32 3.21 3.44 ...
 qsec: num  16.5 17 18.6 19.4 17 ...
 vs  : num  0 0 1 1 0 1 0 1 1 1 ...
 am  : num  1 1 1 0 0 0 0 0 0 0 ...
 gear: num  4 4 4 3 3 3 3 4 4 4 ...
 carb: num  4 4 1 1 2 1 4 2 2 4 ...

Hope this helps.


Edit (in reply to @clevenius_Purab 's doubts in #7 and #8)

correct

I'm not sure I understand what you are asking. Is your question why show $ or any other symbol at all?

If so, I do not know the answer. Perhaps it is due to the fact that for a nested object with every component being named, it'll help to understand how to extract a particular component. The same logic will also provide some guidance to unnamed components as well, but not so much. I agree that this is not a strong argument, so there is probably some other reason, but I'm not aware of it. Sorry.

Thank you very very much, i was trying to find this only, thnx a lot.
So that means, the dollar sign is default for comp.str?

and also 1 more thing, what is the use of it
like i printed a. then b like that in front of variable names, instead it
increases the clutter, so what is the use?

thanks a lot for the info

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.

If you have a query related to it or one of the replies, start a new topic and refer back with a link.