2014-10-07 78 views
0

我嘗試使用「freq2genet」方法在R中創建一個包含「adegenet」的「genet」類。但是一旦我用存儲基因頻率的數據集調用該方法,就會發生「類型」(字符)參數不正確的錯誤。在我使用「as.data.frame」之後它仍然會出現。從R中的頻率矩陣創建一個基因類R

我該如何解決這個問題?

+0

您需要更改數據的格式而不是數據的類型。也許糾正參數從字符到邏輯會做。你有沒有在手冊上查看它? – Llopis 2014-10-07 09:40:39

+1

您的數據與「freq2genet」或其他任何工作示例的示例有何不同? – 2014-10-07 09:44:07

+0

@Llopis如何做到這一點? – 2014-10-07 11:45:15

回答

0

傳遞給freq2genet的對象應該是data.frame,其中行是觀察值(總體),列是等位基因頻率。這是來自ade4:::chevaine示例的數據結構。無論與此有什麼不同,都可能是您錯誤的原因。

> head(chevaine$tab) 
    PGM-2*.090 PGM-2*.098 PGM-2*.100 IDHP-1*.100 IDHP-1*.145 EST-2*.098 EST-2*.100 G3PDH*.085 G3PDH*.100 
P01  0.017  0.150  0.833  1.000  0.000  0.300  0.700  0.217  0.783 
P02  0.083  0.216  0.701  1.000  0.000  0.300  0.700  0.167  0.833 
P03  0.107  0.179  0.714  0.982  0.018  0.250  0.750  0.179  0.821 
P04  0.067  0.200  0.733  1.000  0.000  0.467  0.533  0.217  0.783 
P05  0.103  0.190  0.707  1.000  0.000  0.362  0.638  0.103  0.897 
P06  0.179  0.125  0.696  0.981  0.019  0.250  0.750  0.154  0.846 

> str(freq2genet(chevaine$tab)) 
List of 8 
$ tab  :'data.frame': 27 obs. of 9 variables: 
    ..$ L1.1: num [1:27] 0.3 0.3 0.25 0.467 0.362 0.25 0.217 0.308 0.25 0.31 ... 
    ..$ L1.2: num [1:27] 0.7 0.7 0.75 0.533 0.638 0.75 0.783 0.692 0.75 0.69 ... 
    ..$ L2.1: num [1:27] 0.217 0.167 0.179 0.217 0.103 0.154 0.1 0.038 0.05 0.119 ... 
    ..$ L2.2: num [1:27] 0.783 0.833 0.821 0.783 0.897 0.846 0.9 0.962 0.95 0.881 ... 
    ..$ L3.1: num [1:27] 1 1 0.982 1 1 0.981 0.983 1 0.975 0.976 ... 
    ..$ L3.2: num [1:27] 0 0 0.018 0 0 0.019 0.017 0 0.025 0.024 ... 
    ..$ L4.1: num [1:27] 0.017 0.083 0.107 0.067 0.103 0.179 0.216 0.25 0.175 0.282 ... 
    ..$ L4.2: num [1:27] 0.15 0.216 0.179 0.2 0.19 0.125 0.2 0.115 0.05 0 ... 
    ..$ L4.3: num [1:27] 0.833 0.701 0.714 0.733 0.707 0.696 0.584 0.635 0.775 0.718 ... 
$ center : Named num [1:9] 0.322 0.678 0.114 0.886 0.901 ... 
    ..- attr(*, "names")= chr [1:9] "L1.1" "L1.2" "L2.1" "L2.2" ... 
$ pop.names : Named chr [1:27] "P01" "P02" "P03" "P04" ... 
    ..- attr(*, "names")= chr [1:27] "P01" "P02" "P03" "P04" ... 
$ all.names : Named chr [1:9] "EST-2*.098" "EST-2*.100" "G3PDH*.085" "G3PDH*.100" ... 
    ..- attr(*, "names")= chr [1:9] "L1.1" "L1.2" "L2.1" "L2.2" ... 
$ loc.blocks: Named num [1:4] 2 2 2 3 
    ..- attr(*, "names")= chr [1:4] "L1" "L2" "L3" "L4" 
$ loc.fac : Factor w/ 4 levels "EST-2*","G3PDH*",..: 1 1 2 2 3 3 4 4 4 
$ loc.names : Named chr [1:4] "EST-2*" "G3PDH*" "IDHP-1*" "PGM-2*" 
    ..- attr(*, "names")= chr [1:4] "L1" "L2" "L3" "L4" 
$ all.pop :'data.frame': 9 obs. of 27 variables: 
    ..$ P01: num [1:9] 0.3 0.7 0.217 0.783 1 0 0.017 0.15 0.833 
    ..$ P02: num [1:9] 0.3 0.7 0.167 0.833 1 0 0.083 0.216 0.701 
    ..$ P03: num [1:9] 0.25 0.75 0.179 0.821 0.982 0.018 0.107 0.179 0.714 
    ..$ P04: num [1:9] 0.467 0.533 0.217 0.783 1 0 0.067 0.2 0.733 
    ..$ P05: num [1:9] 0.362 0.638 0.103 0.897 1 0 0.103 0.19 0.707 
    ..$ P06: num [1:9] 0.25 0.75 0.154 0.846 0.981 0.019 0.179 0.125 0.696 
    ..$ P07: num [1:9] 0.217 0.783 0.1 0.9 0.983 0.017 0.216 0.2 0.584 
    ..$ P08: num [1:9] 0.308 0.692 0.038 0.962 1 0 0.25 0.115 0.635 
    ..$ P09: num [1:9] 0.25 0.75 0.05 0.95 0.975 0.025 0.175 0.05 0.775 
    ..$ P10: num [1:9] 0.31 0.69 0.119 0.881 0.976 0.024 0.282 0 0.718 
    ..$ P11: num [1:9] 0.308 0.692 0.154 0.846 0.962 0.038 0.154 0.038 0.808 
    ..$ P12: num [1:9] 0.354 0.646 0.104 0.896 0.979 0.021 0.125 0.104 0.771 
    ..$ P13: num [1:9] 0.317 0.683 0.167 0.833 0.8 0.2 0.033 0.716 0.251 
    ..$ P14: num [1:9] 0.3 0.7 0.083 0.917 0.75 0.25 0.033 0.6 0.367 
    ..$ P15: num [1:9] 0.46 0.54 0.14 0.86 0.74 0.26 0.04 0.62 0.34 
    ..$ P16: num [1:9] 0.369 0.631 0.119 0.881 0.69 0.31 0 0.69 0.31 
    ..$ P17: num [1:9] 0.494 0.506 0.104 0.896 0.747 0.253 0.003 0.659 0.338 
    ..$ P18: num [1:9] 0.321 0.679 0.036 0.964 0.589 0.411 0 0.536 0.464 
    ..$ P19: num [1:9] 0.286 0.714 0.086 0.914 0.871 0.129 0.129 0.343 0.528 
    ..$ P20: num [1:9] 0.267 0.733 0.05 0.95 0.95 0.05 0.15 0.133 0.717 
    ..$ P21: num [1:9] 0.241 0.759 0.121 0.879 0.966 0.034 0.138 0.103 0.759 
    ..$ P22: num [1:9] 0.25 0.75 0.162 0.838 0.941 0.059 0.176 0.059 0.765 
    ..$ P23: num [1:9] 0.339 0.661 0.054 0.946 0.893 0.107 0.125 0.089 0.786 
    ..$ P24: num [1:9] 0.386 0.614 0.068 0.932 0.886 0.114 0.114 0.136 0.75 
    ..$ P25: num [1:9] 0.308 0.692 0.115 0.885 0.823 0.177 0.135 0.01 0.855 
    ..$ P26: num [1:9] 0.338 0.662 0.103 0.897 0.912 0.088 0.088 0.103 0.809 
    ..$ P27: num [1:9] 0.353 0.647 0.074 0.926 0.941 0.059 0.059 0.118 0.823 
- attr(*, "class")= chr [1:2] "genet" "list" 
+0

到目前爲止,我仍然不知道錯誤在哪裏..我無法找到我的工作和上面的示例之間的區別。這似乎非常相似,但我的數據集。我的數據集從csv文件中讀取並進行一些處理。它包含相對較小的頻率,例如0.我無法使用freq2genet處理數據。我在我的問題中說過一個錯誤。 – 2014-10-07 14:40:28