У меня есть два вопроса, оба довольно простые, я думаю, имея дело с R.
Я хотел бы создать оператор IF, который будет присваивать значение NA определенным строкам в столбце. Я пробовал следующую команду:
a[a[,21]==0,5:10] <-NA
ошибка говорит:
Ошибка в [<-. Data.frame (<em> tmp , a [, 21] == 0, 5:20, значение = NA): пропущенные значения недопустимы в подписанных назначениях фреймов данных
По сути, этот код должен принимать любое значение 0 в столбце 21 и заменять значения для этой строки из столбцов с 5 по 10 на NA. В колонке 21 уже есть NA, но я не уверен, что это что-то делает?
Я вообще не уверен, как создать эту следующую функцию. Мне нужно манипулировать данными, содержащими положительный и отрицательный контроль. Однако когда я манипулирую данными, я не хочу, чтобы значения положительного и отрицательного элементов управления были отделены от манипуляции, но я хочу, чтобы положительные и отрицательные элементы управления оставались в столбцах, потому что я должен использовать их позже. Есть ли способ временно игнорировать эти значения, чтобы они не были включены в манипуляцию?
Вот пример данных:
L = c(2,1,4,3,1,4,2,4,5,1)
R = c(2,4,5,1,"Neg",2,"",1,2,1)
T = c(2,1,4,2,"CTRL",2,"PCTRL",2,1,4)
test <- data.frame(L=L,R=R,T=T)
Я хотел бы иметь возможность временно игнорировать эти строки, основываясь на символах "Neg", "CTRL" / "" "PCTRL", а не на их позиции во фрейме данных, если это возможно. Обратите внимание, что для отрицательного контроля Neg и CTRL находятся в отдельных столбцах, в одной строке, так же, как положительный контроль, где в отдельных столбцах есть пробел и PCTRL, но в одинаковых строках. Любой способ сделать это, учитывая эти странные условия?
Надеюсь, это было написано достаточно четко, и я заранее благодарю всех, кто нашел время, чтобы помочь мне!