Quantcast

how to add a 'label' column

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

how to add a 'label' column

Jason Love
Hello R users,
I'd like to ask a question about how to add a new column. So, below is my
situation.

In order to perform the repeated ANOVA, I first imported the following
table.

score=read.csv("patients_tests.csv");

   subject     test1     test2     test3       test4    test5    test6
  test7
1       ab  0.17687 0.16715 0.17009    0.16480 0.16116 0.24502 0.17975
2       cl   0.18020 0.16618 0.18548    0.14943 0.14289 0.23583 0.17027
3       ds  0.14269 0.12857 0.12972    0.16955 0.14398 0.20865 0.17194
4       ex  0.14626 0.12874 0.15501    0.13019 0.14646 0.21345 0.16023
5       ey  0.16850 0.15654 0.15181    0.18554 0.15642 0.24330 0.16064
6       js   0.13741 0.15516 0.16392    0.15250 0.15416 0.20790 0.15618
7       ms 0.14548 0.16655 0.16561    0.15107 0.14259 0.20386 0.15179
8       pk  0.16246 0.14872 0.15415    0.16553 0.13372 0.25692 0.15096
9       ro   0.18631 0.16128 0.14477    0.16024 0.14063 0.25915 0.19108
10      rt   0.14805 0.15794 0.13665    0.15767 0.13904 0.19171 0.15511
11      sc  0.15510 0.16374 0.16654    0.16864 0.14216 0.20595 0.16847
12      yk  0.18077 0.17320 0.19948    0.15941 0.14053 0.23372 0.18398

Then, I stacked them score2=stack(score);

    values        ind
1  0.17687        test1
2  0.18020        test1
3  0.14269        test1
4  0.14626        test1
5  0.16850        test1
6  0.13741        test1
7  0.14548        test1
8  0.16246        test1
9  0.18631        test1
10 0.14805       test1
11 0.15510       test1
12 0.18077       test1
13 0.16715       test2
14 0.16618       test2
15 0.12857       test2
  .
  .
  .

This gave me a new structure as shown above, but the subject column was not
included.
So, I'd like to add a new column for subject, but I can't quite figure out
the trick.
If anyone knows, please help.

Jason

        [[alternative HTML version deleted]]

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: how to add a 'label' column

Rui Barradas
Hello,

Try

score2$subject <- rep(score$subject, 7)

Hope this helps,

Rui Barradas

Em 01-06-2012 20:47, Jason Love escreveu:

> Hello R users,
> I'd like to ask a question about how to add a new column. So, below is my
> situation.
>
> In order to perform the repeated ANOVA, I first imported the following
> table.
>
> score=read.csv("patients_tests.csv");
>
>     subject     test1     test2     test3       test4    test5    test6
>    test7
> 1       ab  0.17687 0.16715 0.17009    0.16480 0.16116 0.24502 0.17975
> 2       cl   0.18020 0.16618 0.18548    0.14943 0.14289 0.23583 0.17027
> 3       ds  0.14269 0.12857 0.12972    0.16955 0.14398 0.20865 0.17194
> 4       ex  0.14626 0.12874 0.15501    0.13019 0.14646 0.21345 0.16023
> 5       ey  0.16850 0.15654 0.15181    0.18554 0.15642 0.24330 0.16064
> 6       js   0.13741 0.15516 0.16392    0.15250 0.15416 0.20790 0.15618
> 7       ms 0.14548 0.16655 0.16561    0.15107 0.14259 0.20386 0.15179
> 8       pk  0.16246 0.14872 0.15415    0.16553 0.13372 0.25692 0.15096
> 9       ro   0.18631 0.16128 0.14477    0.16024 0.14063 0.25915 0.19108
> 10      rt   0.14805 0.15794 0.13665    0.15767 0.13904 0.19171 0.15511
> 11      sc  0.15510 0.16374 0.16654    0.16864 0.14216 0.20595 0.16847
> 12      yk  0.18077 0.17320 0.19948    0.15941 0.14053 0.23372 0.18398
>
> Then, I stacked them score2=stack(score);
>
>      values        ind
> 1  0.17687        test1
> 2  0.18020        test1
> 3  0.14269        test1
> 4  0.14626        test1
> 5  0.16850        test1
> 6  0.13741        test1
> 7  0.14548        test1
> 8  0.16246        test1
> 9  0.18631        test1
> 10 0.14805       test1
> 11 0.15510       test1
> 12 0.18077       test1
> 13 0.16715       test2
> 14 0.16618       test2
> 15 0.12857       test2
>    .
>    .
>    .
>
> This gave me a new structure as shown above, but the subject column was not
> included.
> So, I'd like to add a new column for subject, but I can't quite figure out
> the trick.
> If anyone knows, please help.
>
> Jason
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> [hidden email] mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: how to add a 'label' column

Marc Schwartz-3
Just to throw out an alternative using the ?reshape function:

# See the example using 'df3' on the help page
DF.Long <- reshape(score, direction = "long", idvar = "subject",
                   varying = 2:8, sep = "")


> head(DF.Long, 24)
     subject time    test
ab.1      ab    1 0.17687
cl.1      cl    1 0.18020
ds.1      ds    1 0.14269
ex.1      ex    1 0.14626
ey.1      ey    1 0.16850
js.1      js    1 0.13741
ms.1      ms    1 0.14548
pk.1      pk    1 0.16246
ro.1      ro    1 0.18631
rt.1      rt    1 0.14805
sc.1      sc    1 0.15510
yk.1      yk    1 0.18077
ab.2      ab    2 0.16715
cl.2      cl    2 0.16618
ds.2      ds    2 0.12857
ex.2      ex    2 0.12874
ey.2      ey    2 0.15654
js.2      js    2 0.15516
ms.2      ms    2 0.16655
pk.2      pk    2 0.14872
ro.2      ro    2 0.16128
rt.2      rt    2 0.15794
sc.2      sc    2 0.16374
yk.2      yk    2 0.17320


Regards,

Marc Schwartz


On Jun 1, 2012, at 3:06 PM, Rui Barradas wrote:

> Hello,
>
> Try
>
> score2$subject <- rep(score$subject, 7)
>
> Hope this helps,
>
> Rui Barradas
>
> Em 01-06-2012 20:47, Jason Love escreveu:
>> Hello R users,
>> I'd like to ask a question about how to add a new column. So, below is my
>> situation.
>>
>> In order to perform the repeated ANOVA, I first imported the following
>> table.
>>
>> score=read.csv("patients_tests.csv");
>>
>>    subject     test1     test2     test3       test4    test5    test6
>>   test7
>> 1       ab  0.17687 0.16715 0.17009    0.16480 0.16116 0.24502 0.17975
>> 2       cl   0.18020 0.16618 0.18548    0.14943 0.14289 0.23583 0.17027
>> 3       ds  0.14269 0.12857 0.12972    0.16955 0.14398 0.20865 0.17194
>> 4       ex  0.14626 0.12874 0.15501    0.13019 0.14646 0.21345 0.16023
>> 5       ey  0.16850 0.15654 0.15181    0.18554 0.15642 0.24330 0.16064
>> 6       js   0.13741 0.15516 0.16392    0.15250 0.15416 0.20790 0.15618
>> 7       ms 0.14548 0.16655 0.16561    0.15107 0.14259 0.20386 0.15179
>> 8       pk  0.16246 0.14872 0.15415    0.16553 0.13372 0.25692 0.15096
>> 9       ro   0.18631 0.16128 0.14477    0.16024 0.14063 0.25915 0.19108
>> 10      rt   0.14805 0.15794 0.13665    0.15767 0.13904 0.19171 0.15511
>> 11      sc  0.15510 0.16374 0.16654    0.16864 0.14216 0.20595 0.16847
>> 12      yk  0.18077 0.17320 0.19948    0.15941 0.14053 0.23372 0.18398
>>
>> Then, I stacked them score2=stack(score);
>>
>>     values        ind
>> 1  0.17687        test1
>> 2  0.18020        test1
>> 3  0.14269        test1
>> 4  0.14626        test1
>> 5  0.16850        test1
>> 6  0.13741        test1
>> 7  0.14548        test1
>> 8  0.16246        test1
>> 9  0.18631        test1
>> 10 0.14805       test1
>> 11 0.15510       test1
>> 12 0.18077       test1
>> 13 0.16715       test2
>> 14 0.16618       test2
>> 15 0.12857       test2
>>   .
>>   .
>>   .
>>
>> This gave me a new structure as shown above, but the subject column was not
>> included.
>> So, I'd like to add a new column for subject, but I can't quite figure out
>> the trick.
>> If anyone knows, please help.
>>
>> Jason

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: how to add a 'label' column

Jim Lemon
In reply to this post by Jason Love
On 06/02/2012 05:47 AM, Jason Love wrote:

> Hello R users,
> I'd like to ask a question about how to add a new column. So, below is my
> situation.
>
> In order to perform the repeated ANOVA, I first imported the following
> table.
>
> score=read.csv("patients_tests.csv");
>
>     subject     test1     test2     test3       test4    test5    test6
>    test7
> 1       ab  0.17687 0.16715 0.17009    0.16480 0.16116 0.24502 0.17975
> 2       cl   0.18020 0.16618 0.18548    0.14943 0.14289 0.23583 0.17027
> 3       ds  0.14269 0.12857 0.12972    0.16955 0.14398 0.20865 0.17194
> 4       ex  0.14626 0.12874 0.15501    0.13019 0.14646 0.21345 0.16023
> 5       ey  0.16850 0.15654 0.15181    0.18554 0.15642 0.24330 0.16064
> 6       js   0.13741 0.15516 0.16392    0.15250 0.15416 0.20790 0.15618
> 7       ms 0.14548 0.16655 0.16561    0.15107 0.14259 0.20386 0.15179
> 8       pk  0.16246 0.14872 0.15415    0.16553 0.13372 0.25692 0.15096
> 9       ro   0.18631 0.16128 0.14477    0.16024 0.14063 0.25915 0.19108
> 10      rt   0.14805 0.15794 0.13665    0.15767 0.13904 0.19171 0.15511
> 11      sc  0.15510 0.16374 0.16654    0.16864 0.14216 0.20595 0.16847
> 12      yk  0.18077 0.17320 0.19948    0.15941 0.14053 0.23372 0.18398
>
> Then, I stacked them score2=stack(score);
>
>      values        ind
> 1  0.17687        test1
> 2  0.18020        test1
> 3  0.14269        test1
> 4  0.14626        test1
> 5  0.16850        test1
> 6  0.13741        test1
> 7  0.14548        test1
> 8  0.16246        test1
> 9  0.18631        test1
> 10 0.14805       test1
> 11 0.15510       test1
> 12 0.18077       test1
> 13 0.16715       test2
> 14 0.16618       test2
> 15 0.12857       test2
>    .
>    .
>    .
>
> This gave me a new structure as shown above, but the subject column was not
> included.
> So, I'd like to add a new column for subject, but I can't quite figure out
> the trick.

Hi Jason,
Perhaps this will do what you want.

library(prettyR)
rep_n_stack(score,to.stack=paste("test",1:7,sep=""))

Jim

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: how to add a 'label' column

Jason Love
Thanks all for the helpful tips.

Jason

On Sat, Jun 2, 2012 at 7:14 AM, Jim Lemon <[hidden email]> wrote:

> On 06/02/2012 05:47 AM, Jason Love wrote:
>
>> Hello R users,
>> I'd like to ask a question about how to add a new column. So, below is my
>> situation.
>>
>> In order to perform the repeated ANOVA, I first imported the following
>> table.
>>
>> score=read.csv("patients_**tests.csv");
>>
>>    subject     test1     test2     test3       test4    test5    test6
>>   test7
>> 1       ab  0.17687 0.16715 0.17009    0.16480 0.16116 0.24502 0.17975
>> 2       cl   0.18020 0.16618 0.18548    0.14943 0.14289 0.23583 0.17027
>> 3       ds  0.14269 0.12857 0.12972    0.16955 0.14398 0.20865 0.17194
>> 4       ex  0.14626 0.12874 0.15501    0.13019 0.14646 0.21345 0.16023
>> 5       ey  0.16850 0.15654 0.15181    0.18554 0.15642 0.24330 0.16064
>> 6       js   0.13741 0.15516 0.16392    0.15250 0.15416 0.20790 0.15618
>> 7       ms 0.14548 0.16655 0.16561    0.15107 0.14259 0.20386 0.15179
>> 8       pk  0.16246 0.14872 0.15415    0.16553 0.13372 0.25692 0.15096
>> 9       ro   0.18631 0.16128 0.14477    0.16024 0.14063 0.25915 0.19108
>> 10      rt   0.14805 0.15794 0.13665    0.15767 0.13904 0.19171 0.15511
>> 11      sc  0.15510 0.16374 0.16654    0.16864 0.14216 0.20595 0.16847
>> 12      yk  0.18077 0.17320 0.19948    0.15941 0.14053 0.23372 0.18398
>>
>> Then, I stacked them score2=stack(score);
>>
>>     values        ind
>> 1  0.17687        test1
>> 2  0.18020        test1
>> 3  0.14269        test1
>> 4  0.14626        test1
>> 5  0.16850        test1
>> 6  0.13741        test1
>> 7  0.14548        test1
>> 8  0.16246        test1
>> 9  0.18631        test1
>> 10 0.14805       test1
>> 11 0.15510       test1
>> 12 0.18077       test1
>> 13 0.16715       test2
>> 14 0.16618       test2
>> 15 0.12857       test2
>>   .
>>   .
>>   .
>>
>> This gave me a new structure as shown above, but the subject column was
>> not
>> included.
>> So, I'd like to add a new column for subject, but I can't quite figure out
>> the trick.
>>
>
> Hi Jason,
> Perhaps this will do what you want.
>
> library(prettyR)
> rep_n_stack(score,to.stack=**paste("test",1:7,sep=""))
>
> Jim
>

        [[alternative HTML version deleted]]

______________________________________________
[hidden email] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
Loading...