标签: data-management

R:从滚动窗口创建数据框

假设我有一个具有以下结构的数据框:

DF <- data.frame(x = 0:4, y = 5:9)
> DF
  x y
1 0 5
2 1 6
3 2 7
4 3 8
5 4 9
Run Code Online (Sandbox Code Playgroud)

将"DF"转换为具有以下结构的数据框的最有效方法是什么:

w x y
1 0 5
1 1 6
2 1 6
2 2 7
3 2 7
3 3 8
4 3 8
4 4 9
Run Code Online (Sandbox Code Playgroud)

其中w是滚动数据帧'DF'的长度为2的窗口.窗口的长度应该是任意的,即长度为3的产量

w x y
1 0 5
1 1 6
1 2 7
2 1 6
2 2 7
2 3 8
3 2 …
Run Code Online (Sandbox Code Playgroud)

r data-manipulation data-management rolling-computation

6
推荐指数
1
解决办法
1353
查看次数

将数据帧拆分为重叠的数据帧

我正在尝试编写一个行为如下的函数,但它证明非常困难:

DF <- data.frame(x = seq(1,10), y = rep(c('a','b','c','d','e'),2))
> DF
    x y
1   1 a
2   2 b
3   3 c
4   4 d
5   5 e
6   6 a
7   7 b
8   8 c
9   9 d
10 10 e

>OverLapSplit(DF,nsplits=2,overlap=2)
[[1]]
  x y
1 1 a
2 2 b
3 3 c
4 4 d
5 5 e
6 6 a

[[2]]
   x y
1  5 a
2  6 b
3  7 c
4  8 d …
Run Code Online (Sandbox Code Playgroud)

r data-manipulation data-management dataframe

6
推荐指数
1
解决办法
1433
查看次数

创建一个捕获组最常出现的变量

限定:

df1 <-data.frame(
id=c(rep(1,3),rep(2,3)),
v1=as.character(c("a","b","b",rep("c",3)))
)
Run Code Online (Sandbox Code Playgroud)

ST

> df1
  id v1
1  1  a
2  1  b
3  1  b
4  2  c
5  2  c
6  2  c
Run Code Online (Sandbox Code Playgroud)

我想创建一个第三个变量freq包含最常见的观察v1idST

> df2
  id v1 freq
1  1  a    b
2  1  b    b
3  1  b    b
4  2  c    c
5  2  c    c
6  2  c    c
Run Code Online (Sandbox Code Playgroud)

r frequency count data-manipulation data-management

6
推荐指数
1
解决办法
2756
查看次数

在数据框内连接/合并两列

说我有这个数据,

(df <- data.frame( col1 = c('My','Your','His','Thir'), col2 = c('Cat','Dog','Fish','Dog')))

  col1 col2
1   My  Cat
2 Your  Dog
3  His Fish
4 Thir  Dog
Run Code Online (Sandbox Code Playgroud)

我想要像这样组合列

`some magic`

  col1 col2      col3
1   My  Cat    My Cat
2 Your  Dog  Your Dog
3  His Fish  His Fish
4 Thir  Dog  Thir Dog
Run Code Online (Sandbox Code Playgroud)

我该怎么办?也许用这样的逗号(,),

`some magic`

  col1 col2      col3
1   My  Cat    My, Cat
2 Your  Dog  Your, Dog
3  His Fish  His, Fish
4 Thir  Dog  Thir, Dog
Run Code Online (Sandbox Code Playgroud)

merge join r data-management

5
推荐指数
1
解决办法
7934
查看次数

对于在时间1和时间2之间没有发生任何变化的情况,删除所有id的情况

我有两个数据框,包含一系列案例.一个从时间1和一个从时间2.我正在寻找一种方法来快速识别在时间1和时间2之间发生变化的情况,我有点卡住.

这是一个例子.所以,我从时间1开始有一个数据框,

df.t1 <- data.frame(id = c(1,1,1,2,2,3,3,5,5,6), ABC = LETTERS[1:10], Num = 101:110)
Run Code Online (Sandbox Code Playgroud)

它看起来像这样,

df.t1
   id ABC Num
1   1   A 101
2   1   B 102
3   1   C 103
4   2   D 104
5   2   E 105
6   3   F 106
7   3   G 107
8   5   H 108
9   5   I 109
10  6   J 110
Run Code Online (Sandbox Code Playgroud)

时间两卷

df.t2 <- df.t1
Run Code Online (Sandbox Code Playgroud)

并发生一些变化,

df.t2[3,3] <- 104
df.t2[2,2] <- "H"
df.t2[8,3] <- 999
df.t2[10,3] <- NA
df.t2[11,] <- c(3, "J", 107) …
Run Code Online (Sandbox Code Playgroud)

r data-management

5
推荐指数
1
解决办法
182
查看次数

为R中的每个级别选择前80个观测值

我有一个如下所示的数据集:

structure(list(A = structure(c(1L, 1L, 1L, 1L, 1L, 1L), .Label = c("1", 
"2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", 
"14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", 
"25"), class = "factor"), T = c(0.04, 0.08, 0.12, 0.16, 0.2, 
0.24), X = c(464.4, 464.4, 464.4, 464.4, 464.4, 464.4), Y = c(418.5, 
418.5, 418.5, 418.5, 418.5, 418.5), V = c(0, 0, 0, 0, 0, 0), 
    GD = c(0, 0, 0, 0, 0, 0), ND …
Run Code Online (Sandbox Code Playgroud)

r data-management

5
推荐指数
2
解决办法
1069
查看次数

Android应用更新而不丢失数据

我是Android开发的新手,所以我正在尝试创建一个存储仓库信息的应用程序.但是,我担心如果我执行更新,用户数据将会丢失.我必须管理哪些数据在更新时应保持不变?

此外,我想知道如果我想保持数据安全,使用可序列化类或使用SQL数据库是否会有所不同.

非常感谢 :)

android updating serializable data-management

5
推荐指数
1
解决办法
3577
查看次数

在R中管理元数据的最佳方法是什么?

在分析数据时,关于变量的元数据非常重要.你如何在R中管理这些信息?

例如,有没有办法指定将打印的标签而不是变量名?

R有什么设施吗?

r data-management

4
推荐指数
1
解决办法
1953
查看次数

使用列表中的数据框:删除变量,添加新变量

使用两个数据帧df1df2定义列表dats

dats <- list( df1 = data.frame(a=sample(1:3), b = sample(11:13)),
    df2 = data.frame(a=sample(1:3), b = sample(11:13)))

> dats
$df1
  a  b
1 2 12
2 3 11
3 1 13

$df2
  a  b
1 3 13
2 2 11
3 1 12
Run Code Online (Sandbox Code Playgroud)

我想在每个数据框中删除变量a.接下来,我想添加一个变量,其中包含来自外部数据帧的每个数据帧的id,如:

ids <- data.frame(id=c("id1","id2"),df=c("df1","df2"))
> ids
  id  df
1 id1 df1
2 id2 df2
Run Code Online (Sandbox Code Playgroud)

为了放弃不必要的变量,我试着没有运气:

> dats <- lapply(dats, function(x) assign(x, x[,c("b")]))  
> Error in assign(x, x[, c("b")]) : invalid first …
Run Code Online (Sandbox Code Playgroud)

r data-manipulation lapply data-management

4
推荐指数
1
解决办法
1652
查看次数

一个模拟推送Segue的自定义Segue将VC变成Zombie

[使事情简短明了]

我写了一个自定义的segue.

-(void)perform {
UIView *preV = ((UIViewController *)self.sourceViewController).view;
UIView *newV = ((UIViewController *)self.destinationViewController).view;

[preV.window insertSubview:newV aboveSubview:preV];
newV.center = CGPointMake(preV.center.x + preV.frame.size.width, newV.center.y);
[UIView animateWithDuration:0.4
 animations:^{
     newV.center = CGPointMake(preV.center.x, newV.center.y);
     preV.center = CGPointMake(0- preV.center.x, newV.center.y);}
    completion:^(BOOL finished){ [preV removeFromSuperview]; }];
}
Run Code Online (Sandbox Code Playgroud)

触发segue时没有异常.但是它会解除分配 destinationViewController.

当点击一个触发另一个segue的按钮时,应用程序会崩溃destinationViewController.

我尝试删除[preV removeFromSuperview] 但无济于事.

[细节]

我最近开始使用Object-C,我编写了一个模拟push segue的自定义segue.

它第一次被触发,一切正常.

但在那之后,无论触发什么segue,应用程序崩溃,我都会收到EXC_BAD_ACCESS错误.


我的第一个猜测是,这与内存管理有关.那里的东西必须要解除分配,但我不知道它是什么.

我的第二个猜测是,这与由UIView和提供的基础设施有关UIWindow.但是,由于我缺乏知识和经验,我再也无法弄清楚真正的问题是什么.

我知道我实际上可以采用一种简单的方法,通过使用a rootviewcontroller并简单地隐藏导航栏来创建push segue ,但我真的想知道我看似构造良好的自定义segue究竟出了什么问题,并了解下面发生了什么.代码结构.


[更新]

感谢Phillip Mills和Joachim Isaksson的建议,在进行了一些实验并利用断点和Zombie工具之后,

这是我意识到的:

  1. 在按钮触发自定义segue之后,只有当按钮触发下一个segue时,app才会崩溃.使用触发下一个segue viewDidAppear不会导致任何崩溃.

  2. 坠机背后的主要原因:

Objective-C消息被发送到解除分配的对象(僵尸) …

iphone runtime-error objective-c data-management uistoryboardsegue

4
推荐指数
1
解决办法
2412
查看次数