Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在r中应用函数_R_Loops_Dataframe_Apply - Fatal编程技术网

在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
>