Я пытаюсь найти, есть ли какая-либо условная зависимость в двух разных последовательностях ДНК в R
Это мой код, но я получаю сообщение об ошибке;
Error in `[.data.frame`(data, i) : undefined columns selected
Я не уверен, в чем проблема, если я заключу в скобки data[i-1]==bases[b2]
, я просто получу несколько unexpected}
, и это единственное, что я могу придумать, чтобы сделать.
for (b1 in 1:length(bases))
{
for (b2 in 1:length(bases))
{
count = 1
for (i in 2:length(mydata1))
{
if ((mydata1[i]==bases[b1]) & mydata1[i-1]==bases[b2])
{
count = count+1
}
}
b3 = c(bases[b1], bases[b2], count)
print(b3)
}
}
_Я ожидаю, по сути, списка определенных оснований ДНК, например, я вижу это так, как если бы последовательность ДНК была обусловлена предыдущим основанием ;.
[1] "A" "C" "002"
[1] "A" "C" "005"
[1] "A" "C" "009"
и т. д., которые могут показать мне какое-либо указание на то, оказывает ли определенная база какое-либо влияние на идентичность следующей базы, четко показывая условие того, что A предшествует C.
Итак, по сути, mydata1
(есть также mydata2
) - это последовательности ДНК, то есть список из "A", "G", "C" and "T"
, каждая из которых имеет длину 10 000 оснований.
Как показано здесь;
V1
1 T
2 C
3 G
4 G
5 T
6 G
7 G
8 G
9 C
10 A
Мне поручено определить, есть ли в последовательности базы, которые зависят друг от друга, поэтому, если [1] T
влияет на присутствие [2] C
и т. д. Одна из последовательностей является зависимой, а другая - нет.
length(mydata1)
, но никогда больше не обращаетесь к этим данным, а используете структуру данныхdata
в теле циклаfor
. Трудно сказать, что вызывает проблемы. - person PhillipD   schedule 28.11.2017mydata
иdata
- разные имена переменных. Учитывая логику вашего кода, они почти наверняка должны быть одинаковыми. - person Konrad Rudolph   schedule 28.11.2017head()
всех данных, которые вы используете - это не обязательно должны быть реальные данные, но они должны иметь одинаковый тип значений (т.е. символьные / числовые / и т. Д.), Я думаю, что то, что вы делаете, можно обойтись без всех этих циклов for, но понятия не имею, с чем мы работаем здесь. - person Edward Tyler   schedule 28.11.2017"A" "A" "058"
? A, за которым следует A, 58 раз? - person zx8754   schedule 28.11.2017data
илиmydata
- этоdataframe
,mydata[i]
возвращает i-й столбец, а не i-ю строку. Если вы хотите вернуть i-ю строку всех столбцов, вам понадобитсяmydata[i,]
. Если вы хотите вернуть i-ю строку j-го столбца, вы делаетеmydata[i,j]
. - person Lamia   schedule 28.11.2017