How to use radio buttons in WordPress plugin options using register settings?

In the code you posted there are some errors, that maybe are only typos, in general the name of your inputs do not match with the name of the related setting.

When you save your settings as array, name must be always in the form array_name['option_name'] but for radios you don’t follow this rule (but you do for others field).

Using your code I’ve only changed myplug_validate and myplug_admin_page functions with:

function myplug_validate($input) {
  return array_map('wp_filter_nohtml_kses', (array)$input);
}

function myplug_admin_page() { ?>
<div>
  <h2>Options</h2>
  <form method="post" action="options.php">
  <?php
  settings_fields('myplug_options_group');
  $myplug_options = get_option('myplug_settings');
  ?>
  <input type="checkbox" name="myplug_settings[checkbox1]" value="1" <?php checked('1', $myplug_options['checkbox1']); ?> /><br />
  <input type="text" class="regular-text" name="myplug_settings[text1]" value="<?php echo $myplug_options['text1']; ?>" /><br />
  <input type="checkbox" name="myplug_settings[checkbox2]" value="1" <?php checked('1', $myplug_options['checkbox2']); ?> /><br />
  <input type="text" class="regular-text" name="myplug_settings[text2]" value="<?php echo $myplug_options['text2']; ?>" /><br />
  <input type="radio" name="myplug_settings[radio1]" value="item1" <?php checked('item1', $myplug_options['radio1']); ?> /><br />
  <input type="radio" name="myplug_settings[radio1]" value="item2" <?php checked('item2', $myplug_options['radio1']); ?> /><br />     
  <?php submit_button(); ?>
  </form>
</div>
<?php } ?>

I’ve tested and it works perfectly.