#r #boxplot
#r #boxplot
Вопрос:
Хорошо, итак, я пытаюсь создать boxplot. Для начала вот как выглядит часть моих данных:
Treatment Samplename Cp_ rp49 Cp_ RpL13a Cp_ Att 2
Control T0 T0: C1.1 22.37439066 19.71617973 26.79406584 3
Control T1 T1: C1.1 27.70984514 21.6094783 31.37710115 4
Control T0 T0: C1.2 23.94895554 20.2301651 28.07790884 5
Control T1 T1: C1.2 24.9460447 20.65787086 31.059088 6
Control T0 T0: C1.3 20.65417772 19.45722779 27.99254728 7
Control T1 T1: C1.3 23.35409393 22.00902552 32.88400615 8
Control T0 T0: C1.4 20.90256385 20.06997278 28.50471711 9
Control T1 T1: C1.4 21.72104997 20.16717242 30.77175249 10
Control T0 T0: C1.5 20.02601658 18.97854848 29.33999551 11
Control T1 T1: C1.5 22.53037788 21.09500453 29.54695224 12
Matched T0 T0: M1.1 20.82294039 20.07027204 28.42884012 13
Matched T1 T1: M1.1 23.09561604 21.73694742 31.61233879
Теперь я хочу создать boxplot, который из первого и четвертого столбцов с помощью
library(boxplotdbl)
boxplot(Cp_ATT~Treatment, data=df)
и я сталкиваюсь с ошибкой «нечисловой аргумент для двоичного оператора»
Есть ли какой-либо способ заставить это работать без изменения имен первого столбца на numbers?
Надеюсь, я правильно сформулировал этот вопрос, заранее большое вам спасибо.
Редактировать*
str(df)
data.frame': 30 obs. of 16 variables:
$ Treatment : chr "Control T0" "Control T1" "Control T0" "Control T1" ...
$ Samplename : chr "T0: C1.1 " "T1: C1.1 " "T0: C1.2" "T1: C1.2" ...
$ Cp_ rp49 : chr "22.37439066" "27.70984514" "23.94895554" "24.9460447" ...
$ Cp_ RpL13a : chr "19.71617973" "21.6094783" "20.2301651" "20.65787086" ...
$ Cp_ Att : chr "26.79406584" "31.37710115" "28.07790884" "31.059088" ...
$ Wichtig : chr "-4.419675173" "-3.667256008" "-4.1289533" "-6.113043298" ...
$ dif_ RpL13aAtt1 : chr "-7.077886105" "-9.767622856" "-7.847743741" "-10.40121714" ...
$ Cp_ Def 2 : chr "25.91183294" "30.75748354" "30.34625461" "30.49043802" ...
$ dif_ rp49Def 2 : chr "-3.537442276" "-3.047638397" "-6.397299069" "-5.544393316" ...
$ dif_ RpL13aDef 2 : chr "-6.195653208" "-9.148005245" "-10.11608951" "-9.832567163" ...
$ Cp_ Def 3 : chr "27.17909334" "34.26648509" "30.87750323" "34.67511797" ...
$ dif_ rp49Def 3 : chr "-4.804702672" "-6.556639948" "-6.92854769" "-9.729073266" ...
$ dif_RpL13aDef 3 : chr "-7.462913604" "-12.6570068" "-10.64733813" "-14.01724711" ...
$ Cp_ Thau : chr "27.08349884" "32.82539626" "31.04172596" "30.54862188" ...
$ dif_ rp49Thau : chr "-4.709108175" "-5.115551113" "-7.092770414" "-5.602577177" ...
$ dif_ RpL13aThau : chr "-7.367319108" "-11.21591796" "-10.81156086" "-9.890751023" ...
Комментарии:
1.
str(df)
может помочь определить, в чем проблема2. df $ Cp_ATT — это символ.. вы неправильно прочитали таблицу? Я думаю, это должен быть числовой столбец
3.
df$Cp_ATT = as.numeric(df$Cp_ATT) ; boxplot(Cp_ATT~Treatment, data=df)
может решить проблему, но я бы проверил, почему таблица считывается неправильно или почему data.frame такой4. Я согласен с @StupidWolf … проверьте свои данные, чтобы понять, почему столбцы импортируются как символьные векторы.