我有一个列表,我想从该列表计算列表中每个向量中前五个数字的log2。使用应用功能时,我对子集列表非常困惑。
sample_lengths <- sample(30:40)
mylist <- lapply(sample_lengths, sample)
sapply(list1[1:5], log2)
这行不通,我的名单很长。
答案 0 :(得分:0)
尝试一下:
> sample_lengths <- sample(30:40)
> mylist <- lapply(sample_lengths, sample)
> sapply(mylist, function(x) {
+ log2(x[1:5])
+ })
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
[1,] 4.807355 3.807355 5.087463 4.906891 3.169925 1.000000 2.321928 3.906891 4.247928
[2,] 2.584963 4.857981 5.247928 4.584963 3.906891 2.807355 4.459432 4.392317 5.000000
[3,] 5.087463 0.000000 4.392317 3.169925 0.000000 4.000000 4.584963 3.169925 2.807355
[4,] 4.906891 4.807355 1.584963 4.087463 4.459432 4.754888 3.906891 3.321928 4.584963
[5,] 5.044394 3.584963 5.169925 3.000000 2.807355 4.954196 4.954196 5.000000 5.169925
[,10] [,11]
[1,] 4.954196 4.247928
[2,] 5.247928 1.000000
[3,] 4.906891 1.584963
[4,] 1.000000 3.321928
[5,] 4.857981 0.000000
>
希望有帮助。