小编Die*_*oal的帖子

将新变量添加到数据框中的特定位置

我有一个DF,我想在第二个位置添加一个名为"B"的新变量.

  A C D
1 1 5 2
2 3 3 7
3 6 2 3
4 6 4 8
5 1 1 2
Run Code Online (Sandbox Code Playgroud)

有人有想法吗?

r

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

将聚合对象绑定到原始数​​据帧

我有一个用于聚合的data.frame,它完全由ddplyplyr 完成.现在的目标是编写一个将聚合对象自动绑定到原始数​​据的函数.问题是,可能有多个聚合变量.

以下是仅包含一个聚合变量的示例:

这里有我的数据框:

  M O
1 1 6 
2 2 7 
3 2 4 
4 1 6 
Run Code Online (Sandbox Code Playgroud)

然后ddply我得到"O"的聚合:

TEST <- ddply(.data = DF,
              .variables = c("M"),
              .fun = summarise,
              NEW = sum(O))
Run Code Online (Sandbox Code Playgroud)

结果如下:

  M NEW
1 1  12
2 2  11
Run Code Online (Sandbox Code Playgroud)

我现在要做的是编写一个函数,使我能够将变量" New" 绑定到原始data.frame.

在循环中,它适用于:

for(i in 1:nrow(TEST)) {
  DF$New[DF$M == TEST$M[i]] <- TEST$NEW[i]
  } 

  M O New
1 1 6  12 
2 2 7  11 
3 2 4  11 
4 1 6  12 …
Run Code Online (Sandbox Code Playgroud)

aggregate r

3
推荐指数
1
解决办法
185
查看次数

从SPSS到R的AUTORECODE

我想编写一个与SPSS命令AUTORECODE相同的函数.

AUTORECODE将字符串和数字变量的值重新编码为连续的整数,并将重新编码的值放入称为目标变量的新变量中.

起初我尝试过这种方式:

AUTORECODE <- function(variable = NULL){
    A <- sort(unique(variable))
    B <- seq(1:length(unique(variable)))
    REC <- Recode(var = variable, recodes = "A = B")
    return(REC)
}
Run Code Online (Sandbox Code Playgroud)

但这会导致错误.我认为问题是由A和B提交给recodes参数引起的.这就是我尝试的原因

eval(parse(text = paste("REC <- Recode(var = variable, recodes = 'c(",A,") = c(",B,")')")))
Run Code Online (Sandbox Code Playgroud)

在功能内.但这不是正确的解决方案.

想法?

r spss

2
推荐指数
1
解决办法
423
查看次数

标签 统计

r ×3

aggregate ×1

spss ×1