[R] Divide the data into sub data on a particular condition
arun
smartpink111 at yahoo.com
Sun Aug 25 04:16:35 CEST 2013
Hi,
Try this:
sapply(lst1,function(x) with(x,cor(CF,OSA)))
# 2231 2232 2233
#-0.9607689 -1.0000000 0.9973233
#or
library(plyr)
ddply(dat1,.(BaseProd),summarize,Cor=cor(CF,OSA))
# BaseProd Cor
#1 2231 -0.9607689
#2 2232 -1.0000000
#3 2233 0.9973233
#or
library(data.table)
dt1<- data.table(dat1)
dt1[,cor(CF,OSA),by=BaseProd]
# BaseProd V1
#1: 2231 -0.9607689
#2: 2232 -1.0000000
#3: 2233 0.9973233
A.K.
I forget to add one more thing...sorry for that..
after dividing the data, I have to find the correlation between CF
and OSA for each base product....Please tell me now how to do this thing
----- Original Message -----
From: arun <smartpink111 at yahoo.com>
To: R help <r-help at r-project.org>
Cc:
Sent: Saturday, August 24, 2013 11:44 AM
Subject: Re: Divide the data into sub data on a particular condition
Hi,
Use ?split()
#dat1 is the dataset:
lst1<- split(dat1,dat1$BaseProd)
lst1
#$`2231`
# BaseProd CF OSA
#1 2231 0.5 0.7
#2 2231 0.8 0.6
#3 2231 0.4 0.8
#
#$`2232`
# BaseProd CF OSA
#4 2232 1 2
#5 2232 3 1
#
#$`2233`
# BaseProd CF OSA
#6 2233 0.9 0.5
#7 2233 0.7 0.5
#8 2233 4.0 5.0
#9 2233 5.0 7.0
lst1[[1]]
# BaseProd CF OSA
#1 2231 0.5 0.7
#2 2231 0.8 0.6
#3 2231 0.4 0.8
A.K.
Hi,
I am totally new to R. I am facing the following problem:
I have data of the following form
BaseProd CF OSA
2231 0.5 0.7
2231 0.8 0.6
2231 0.4 0.8
2232 1 2
2232 3 1
2233 0.9 0.5
2233 0.7 0.5
2233 4 5
2233 5 7
I want to divide the data so that the data get divided on the basis of base product.
like:
data1
BaseProd CF OSA
2231 0.5 0.7
2231 0.8 0.6
2231 0.4 0.8
data2
BaseProd CF OSA
2232 1 2
2232 3 1
data3
BaseProd CF OSA
2233 0.9 0.5
2233 0.7 0.5
2233 4 5
2233 5 7
Please help me ... Its very important and please reply ASAP
More information about the R-help
mailing list