File Exchange

image thumbnail

Ugly Data App

version 1.3 (1.46 MB) by Adam Sifounakis
Easily clean up your ugly data!

247 Downloads

Updated 13 Aug 2018

View License

Editor's Note: This file was selected as MATLAB Central Pick of the Week

This app provides a convenient way to:
-- find and fill missing/invalid data
-- find and fill outliers
-- smooth noisy data
-- export cleaned data to the workspace or to an Excel spreadsheet
-- generate MATLAB code to automate the process

Comments and Ratings (30)

Thank you Adam for creating this! Saved me a lot of time and effort.

@amirmoez JAMAAT: I can't seem to reproduce that error on my side and this doesn't seem related to your version of MATLAB. Do you get that error with all data sets or just a specific data set?

Juan Reyes

michio

the first thanks your app, it's nice
and I have a problem when I export data to the xlsx file.
((((Error using writetable (line 142)
Unable to determine range. Range must be of the form 'A1' (cell), 'A:B' (column-select), '1:5'
(row-select), 'A1:B5' (rectangle-select), or a valid named range in the sheet.

Error in UglyDataApp/ExportCleanDatatoExcelFileMenuSelected (line 2332)
writetable(timetable2table(app.Data(:,exportVarList)),fileName);

Error using matlab.ui.internal.controller.WebMenuController/fireActionEvent (line 67)
Error while evaluating Menu Callback.)))))
is it about the verssion of the software?(my verrsion is 2018b)

Gen Long

great App

Would be cool to add a "make unique" functionality to ensure there are no repeated x values (for when dealing with time stuff).

@Diego Mesquita: It looks like you're most likely running the Ugly Data App on MATLAB R2016b or earlier based on the error "Creating a string using double quotes is not supported. Use the string function."

The Ugly Data App is only supported on MATLAB R2017b or later.

Error using nargout
Error: File: UglyDataApp.mlapp Line: 343 Column: 31
Creating a string using double quotes is not supported. Use the string function.

Error in UglyDataAppApp/startApp (line 87)
if nargout(@UglyDataApp) == 0

Error in UglyDataAppApp (line 48)
startApp(obj)

Error in appinstall.internal.runapp>execute (line 78)
out = evalin('caller', [script ';']);

Error in appinstall.internal.runapp>runapp13a (line 57)
outobj = execute(fullfile(appinstalldir, [wrapperfile 'App.m']));

Error in appinstall.internal.runapp>runcorrectversion (line 36)
appobj = runapp13a(appinstalldir);

Error in appinstall.internal.runapp (line 18)
out = runcorrectversion(appmetadata, appentrypoint, addonmetadatadir);

Error using nargout
Error: File: UglyDataApp.mlapp Line: 343 Column: 31
Creating a string using double quotes is not supported. Use the string function.

Error in UglyDataAppApp/startApp (line 87)
if nargout(@UglyDataApp) == 0

Error in UglyDataAppApp (line 48)
startApp(obj)

Error in appinstall.internal.runapp>execute (line 78)
out = evalin('caller', [script ';']);

Error in appinstall.internal.runapp>runapp13a (line 57)
outobj = execute(fullfile(appinstalldir, [wrapperfile 'App.m']));

Error in appinstall.internal.runapp>runcorrectversion (line 36)
appobj = runapp13a(appinstalldir);

Error in appinstall.internal.runapp (line 18)
out = runcorrectversion(appmetadata, appentrypoint, addonmetadatadir);

Ali

tom sen

Omar Mohd

@Ievgen Khomula: Glad to hear everything worked out!

(Correction) In R2018b this very nice and useful utility works fine.
The issue I reported in previous comment was caused by the problem with my installation of matlab itself. The reason was function split defined by dipimage library, wheres this function was introduced also in R2016b and is used by matlab intrinsically now.

In R2018b: can't load any data, including example data "ExampleData.Power" coming with the app. The following error is generated in command window:
Error using split (line 49)
Argument # 1: image expected

Error in UglyDataApp/YDataDropDownValueChanged (line 1981)
yNameSplit = split(yName,'.');

Error using matlab.ui.control.internal.controller.ComponentController/executeUserCallback (line 378)
Error while evaluating DropDown PrivateValueChangedFcn.

What can be the problem?

@AFETTOUCHE Massinissa: The only license required for this app is MATLAB, which shouldn't be a problem if you're trying to open the app in MATLAB.

To install the Ugly Data App, please make sure you are running the "Ugly Data App.mlappinstall" file. This will copy the necessary files into your Add-Ons > Apps folder and the app will become accessible in the Apps Tab under the "My Apps" section of the App Gallery.

Hello everybody;
I am traying to download thiis application but the problem is that I can't to open in Matlab.
I think it should that i have a licence or something else.
I do not inderstand !!!!!

Really usefull application :)

Pushed an update to fix a small line referencing bug that affected the visualizations, but had no impact on the math or code generation.

Is it working with 2018a?

Teodo

@Christos Stefanakos: Unfortunately, the Ugly Data App requires MATLAB R2017b or later.

The Ugly Data App was built using App Designer (introduced in MATLAB R2016a), but it requires MATLAB R2017b or later because it leverages the menu bar feature (introduced in R2017b).

Information about App Designer:
https://www.mathworks.com/products/matlab/app-designer.html

Error using nargout
Function UglyDataApp does not exist.

Error in UglyDataAppApp/startApp (line 57)
if nargout(@UglyDataApp) == 0

Error in UglyDataAppApp (line 37)
startApp(obj)

Error in appinstall.internal.runapp>execute (line 75)
out = evalin('caller', [script ';']);

Error in appinstall.internal.runapp>runapp13a (line 57)
outobj = execute(fullfile(appinstalldir, [wrapperfile 'App.m']));

Error in appinstall.internal.runapp>runcorrectversion (line 35)
appobj = runapp13a(appinstalldir);

Error in appinstall.internal.runapp (line 17)
out = runcorrectversion(appmetadata, appentrypoint, appinstalldir);

Hi, I have R2013b. Can i still use this app ? I am asking, because I got some error messages

@DrewVam55: I added some rudimentary zooming/panning capabilities to the app. These capabilities allow you to manipulate the view in a separate figure window until better interactive plot tools are available in App Designer. Any modifications you make in the separate figure will be reflected in the main app once the window is closed.

DrewVam55

Needs a zoom/pan feature. Currently no way obvious way to zoom/pan/navigate on the main graph figure or axis, which is necessary for the lengthy datasets I have. Otherwise seems like a very convenient tool to explore some basic filter options

AJ Geiger

Very interesting, I'm doing something very similar. Check it out!
https://www.mathworks.com/matlabcentral/fileexchange/65073-modern-gui-toolbox-ii

Updates

1.3

-- Fixed a line reference bug

1.2

-- Added "Zoom / Pan" and "Reset Zoom" options in "Plot Options" menu

1.1.1.0

-- Fixed an issue updating the simulated y-locations of pre-existing NaNs

1.1.0.0

-- Added more detailed documentation
-- Now shows pre-existing NaNs upon data import

1.0.1.0

-- Made "resetApp" a public method
-- Removed "updatePlot" public method
-- Fixed an inconsistently named object

MATLAB Release Compatibility
Created with R2017b
Compatible with R2017b to any release
Platform Compatibility
Windows macOS Linux