How to identify intervals of similar values in a data.frame with R
I work with high-resolution density profiles of snow, that I imported into R.
In the data.frames there is a measured density value assigned to a depth value. It looks like this (just a short excerpt):
#(simplified) example data.frame
Depth Density
0.050700 0.3707
0.050828 0.3666
0.050956 0.3664
0.051085 0.3652
0.051213 0.3644
0.051341 0.3752
0.051470 0.3730
0.051598 0.3721
0.051726 0.3620
0.051855 0.3622
0.051983 0.3621
0.052111 0.3625
0.052240 0.3624
0.052368 0.3620
0.052496 0.3621
0.052625 0.3644
0.052753 0.3643
0.052882 0.3652
0.053010 0.3658
0.053138 0.3660
0.053267 0.3664
0.053395 0.3674
0.053523 0.3600
I want to identify intervals of same/similar density values - the idea is to count "snow/density layers".
Ideally I should be able to
- adjust thresholds for the length of a layer and min/max density values within a layer
- allow density fluctuations of a certain value within a layer
- define what defines the edges of the layers (e.g. a certain density value or a slope)
For example:
In the given data.frame, I want an interval of minlength=0.005 (Depth), flucmax=0.0007 (Density) to be identified
#found interval no.1
Depth Density
0.051726 0.3620
0.051855 0.3622
0.051983 0.3621
0.052111 0.3625
0.052240 0.3624
0.052368 0.3620
0.052496 0.3621
Does anyone have an idea how to implement this? Is there a function I missed in my search?
Thanks in advance for every comment!
r function
add a comment |
I work with high-resolution density profiles of snow, that I imported into R.
In the data.frames there is a measured density value assigned to a depth value. It looks like this (just a short excerpt):
#(simplified) example data.frame
Depth Density
0.050700 0.3707
0.050828 0.3666
0.050956 0.3664
0.051085 0.3652
0.051213 0.3644
0.051341 0.3752
0.051470 0.3730
0.051598 0.3721
0.051726 0.3620
0.051855 0.3622
0.051983 0.3621
0.052111 0.3625
0.052240 0.3624
0.052368 0.3620
0.052496 0.3621
0.052625 0.3644
0.052753 0.3643
0.052882 0.3652
0.053010 0.3658
0.053138 0.3660
0.053267 0.3664
0.053395 0.3674
0.053523 0.3600
I want to identify intervals of same/similar density values - the idea is to count "snow/density layers".
Ideally I should be able to
- adjust thresholds for the length of a layer and min/max density values within a layer
- allow density fluctuations of a certain value within a layer
- define what defines the edges of the layers (e.g. a certain density value or a slope)
For example:
In the given data.frame, I want an interval of minlength=0.005 (Depth), flucmax=0.0007 (Density) to be identified
#found interval no.1
Depth Density
0.051726 0.3620
0.051855 0.3622
0.051983 0.3621
0.052111 0.3625
0.052240 0.3624
0.052368 0.3620
0.052496 0.3621
Does anyone have an idea how to implement this? Is there a function I missed in my search?
Thanks in advance for every comment!
r function
add a comment |
I work with high-resolution density profiles of snow, that I imported into R.
In the data.frames there is a measured density value assigned to a depth value. It looks like this (just a short excerpt):
#(simplified) example data.frame
Depth Density
0.050700 0.3707
0.050828 0.3666
0.050956 0.3664
0.051085 0.3652
0.051213 0.3644
0.051341 0.3752
0.051470 0.3730
0.051598 0.3721
0.051726 0.3620
0.051855 0.3622
0.051983 0.3621
0.052111 0.3625
0.052240 0.3624
0.052368 0.3620
0.052496 0.3621
0.052625 0.3644
0.052753 0.3643
0.052882 0.3652
0.053010 0.3658
0.053138 0.3660
0.053267 0.3664
0.053395 0.3674
0.053523 0.3600
I want to identify intervals of same/similar density values - the idea is to count "snow/density layers".
Ideally I should be able to
- adjust thresholds for the length of a layer and min/max density values within a layer
- allow density fluctuations of a certain value within a layer
- define what defines the edges of the layers (e.g. a certain density value or a slope)
For example:
In the given data.frame, I want an interval of minlength=0.005 (Depth), flucmax=0.0007 (Density) to be identified
#found interval no.1
Depth Density
0.051726 0.3620
0.051855 0.3622
0.051983 0.3621
0.052111 0.3625
0.052240 0.3624
0.052368 0.3620
0.052496 0.3621
Does anyone have an idea how to implement this? Is there a function I missed in my search?
Thanks in advance for every comment!
r function
I work with high-resolution density profiles of snow, that I imported into R.
In the data.frames there is a measured density value assigned to a depth value. It looks like this (just a short excerpt):
#(simplified) example data.frame
Depth Density
0.050700 0.3707
0.050828 0.3666
0.050956 0.3664
0.051085 0.3652
0.051213 0.3644
0.051341 0.3752
0.051470 0.3730
0.051598 0.3721
0.051726 0.3620
0.051855 0.3622
0.051983 0.3621
0.052111 0.3625
0.052240 0.3624
0.052368 0.3620
0.052496 0.3621
0.052625 0.3644
0.052753 0.3643
0.052882 0.3652
0.053010 0.3658
0.053138 0.3660
0.053267 0.3664
0.053395 0.3674
0.053523 0.3600
I want to identify intervals of same/similar density values - the idea is to count "snow/density layers".
Ideally I should be able to
- adjust thresholds for the length of a layer and min/max density values within a layer
- allow density fluctuations of a certain value within a layer
- define what defines the edges of the layers (e.g. a certain density value or a slope)
For example:
In the given data.frame, I want an interval of minlength=0.005 (Depth), flucmax=0.0007 (Density) to be identified
#found interval no.1
Depth Density
0.051726 0.3620
0.051855 0.3622
0.051983 0.3621
0.052111 0.3625
0.052240 0.3624
0.052368 0.3620
0.052496 0.3621
Does anyone have an idea how to implement this? Is there a function I missed in my search?
Thanks in advance for every comment!
r function
r function
asked Nov 13 '18 at 10:57
SnaxlSnaxl
32
32
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53279488%2fhow-to-identify-intervals-of-similar-values-in-a-data-frame-with-r%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53279488%2fhow-to-identify-intervals-of-similar-values-in-a-data-frame-with-r%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown