Самый простой способ - дополнить свой набор данных так, чтобы каждая комбинация присутствовала, даже если она имеет NA
в качестве ее значения. Взяв более простой пример (поскольку у вас много ненужных функций):
dat <- data.frame(a=rep(LETTERS[1:3],3),
b=rep(letters[1:3],each=3),
v=1:9)[-2,]
ggplot(dat, aes(x=a, y=v, colour=b)) +
geom_bar(aes(fill=b), stat="identity", position="dodge")
[/g0]
Это показывает поведение, которое вы пытаетесь избежать: в группы «В», нет группы «а», поэтому полосы шире. Дополнение dat
с фреймворком данных со всеми комбинациями a
и b
:
dat.all <- rbind(dat, cbind(expand.grid(a=levels(dat$a), b=levels(dat$b)), v=NA))
ggplot(dat.all, aes(x=a, y=v, colour=b)) +
geom_bar(aes(fill=b), stat="identity", position="dodge")
[/g1]
Возможно удалить ключи реестра с помощью .reg файла, хотя я не уверен, как хорошо это документируется. Вот то, как:
REGEDIT4
[-HKEY_CURRENT_USER\Software\<otherpath>]
-
перед ключевым именем говорит Regedit
то, что Вы хотите удалить ключ.
Для выполнения этого тихо введите:
regedit /s "myfile.reg"
Если бы Вы выходите из оболочки, я использовал бы команду reg (детали ниже). Если можно сказать нам, с каким языком Вы работаете, мы могли предоставить языку определенный код.
C:> reg/?
Операция REG [список параметров]
Операция [ЗАПРОС | ADD | УДАЛЯЕТ |, КОПИЯ | СОХРАНЯЕТ |, ЗАГРУЗКА | РАЗГРУЖАЕТСЯ |, ВОССТАНОВЛЕНИЕ | ВЫДЕРЖИВАЕТ СРАВНЕНИЕ | ЭКСПОРТ | ИМПОРТ | ФЛАГИ]
Код возврата: (За исключением REG ВЫДЕРЖИВАЮТ СРАВНЕНИЕ),
0 - Успешный 1 - неудавшийся
Для справки на определенном операционном типе:
REG ADD/? REG УДАЛЯЮТ/? [отрезанный]
Я изучил его путем проверки моих ассоциаций файлов.
Кажется, что .reg файл просто называют как первый параметр к regedit.exe
исполняемый файл в Windows.
Таким образом, можно просто сказать regedit.exe "mytest.reg"
. То, в чем я не уверен, - то, как избавиться от диалогового окна, которое открывается, который просит Ваше подтверждение.
Используйте API-функцию Win32 ShellExecute () или ShellExecuteEx (). Если комментарий 'открыт', он должен объединить .reg файл. Я не протестировал его, но это должно работать.
Одна из самых расстраивающих вещей о записи модульных тестов имеет дело с зависимостями. Одна из самых больших вещей о Разработке через тестирование - то, что она производит код, который отделяется от его зависимостей. Прохладный, ха?
Когда я задаю вопросы как этот, я ищу способы отделить код, который я пишу от зависимости. Выделите чтение реестра от сложности, которую требуется протестировать.