在r中应用函数
我必须通过采样过程生成数据并应用函数在r中应用函数,r,loops,dataframe,apply,R,Loops,Dataframe,Apply,我必须通过采样过程生成数据并应用函数 p = 10; f = 8 set.seed (123) pars <- data.frame (id = 1:p, value = sample (c("AA", "AB", "AB", "BB"),p, replace = TRUE)) pars id value 1 1 AB 2 2 BB 3 3 AB 4 4 BB 5 5 BB 6 6
p = 10; f = 8
set.seed (123)
pars <- data.frame (id = 1:p,
value = sample (c("AA", "AB", "AB", "BB"),p, replace = TRUE))
pars
id value
1 1 AB
2 2 BB
3 3 AB
4 4 BB
5 5 BB
6 6 AA
7 7 AB
8 8 BB
9 9 AB
10 10 AB
fdat <- data.frame (t(combn(pars$id,2)))
set.seed (1234)
sdf <- fdat[sample(1:nrow(fdat), f),]
names (sdf) <- c("P1", "P2")
sdf
P1 P2
6 1 7
28 4 8
27 4 7
43 8 9
36 6 7
26 4 6
1 1 2
9 1 10
p=10;f=8
种子集(123)
pars目前,genofun的定义似乎存在错误,但一旦修复,以下各项应起作用:
P1v<-as.character(pars$value[sdf$P1])
P2v<-as.character(pars$value[sdf$P2])
dum<-cbind(sdf,t(mapply(genofun,P1.v=P1v,P2.v=P2v,n=5)))
names(dum)<-c('P1','P2','P1.v','P2.v','CLD1','CLD2','CLD3','CLD4','CLD5')
> dum
P1 P2 P1.v P2.v CLD1 CLD2 CLD3 CLD4 CLD5
6 1 7 AB AB AA AB AB AB AA
28 4 8 BB BB BB BB BB BB BB
27 4 7 BB AB AB BB AB BB AB
43 8 9 BB AB AB BB BB BB AB
36 6 7 AA AB AB AA AA AB AA
26 4 6 BB AA AB AB AB AB AB
1 1 2 AB BB AB AB AB AB AB
9 1 10 AB AB AB BB AA AB AB
>
P1vthanks ttmaccer用于指出错误,jon用于纠正错误
P1 P2 P1.v P2.v CLD1 CLD2 CLD3 CLD4 CLD5 <- (essentially number columns = n)
6 1 7
28 4 8
27 4 7
43 8 9
36 6 7
26 4 6
1 1 2
9 1 10
P1v<-as.character(pars$value[sdf$P1])
P2v<-as.character(pars$value[sdf$P2])
dum<-cbind(sdf,t(mapply(genofun,P1.v=P1v,P2.v=P2v,n=5)))
names(dum)<-c('P1','P2','P1.v','P2.v','CLD1','CLD2','CLD3','CLD4','CLD5')
> dum
P1 P2 P1.v P2.v CLD1 CLD2 CLD3 CLD4 CLD5
6 1 7 AB AB AA AB AB AB AA
28 4 8 BB BB BB BB BB BB BB
27 4 7 BB AB AB BB AB BB AB
43 8 9 BB AB AB BB BB BB AB
36 6 7 AA AB AB AA AA AB AA
26 4 6 BB AA AB AB AB AB AB
1 1 2 AB BB AB AB AB AB AB
9 1 10 AB AB AB BB AA AB AB
>