相关疑难解决方法(0)

自动将R因子扩展为每个因子级别的1/0指标变量的集合

我有一个R数据帧,其中包含我想要"扩展"的因子,因此对于每个因子级别,新数据帧中都有一个关联列,其中包含1/0指示符.例如,假设我有:

df.original <-data.frame(eggs = c("foo", "foo", "bar", "bar"), ham = c(1,2,3,4))
Run Code Online (Sandbox Code Playgroud)

我想要:

df.desired  <- data.frame(foo = c(1,1,0,0), bar=c(0,0,1,1), ham=c(1,2,3,4))
Run Code Online (Sandbox Code Playgroud)

因为对于某些分析的,你需要有一个完全的数字数据帧(例如,主成分分析),我认为这功能可能是内置的.写一个函数来做到这一点应该不会太难,但我可以预见到一些与列名相关的挑战,如果已存在某些内容,我宁愿使用它.

r

100
推荐指数
5
解决办法
5万
查看次数

更快速地计算频率和从长到宽的方式

我试图获得两个变量的水平的每个组合的计数,"周"和"id".我希望结果将"id"作为行,将"week"作为列,将计数作为值.

到目前为止我尝试过的例子(尝试过其他一些东西,包括添加一个虚拟变量= 1然后再加fun.aggregate = sum上它):

library(plyr)
ddply(data, .(id), dcast, id ~ week, value_var = "id", 
        fun.aggregate = length, fill = 0, .parallel = TRUE)
Run Code Online (Sandbox Code Playgroud)

但是,我必须做错事,因为这个功能没有完成.有一个更好的方法吗?

输入:

id      week
1       1
1       2
1       3
1       1
2       3
Run Code Online (Sandbox Code Playgroud)

输出:

  1  2  3
1 2  1  1
2 0  0  1
Run Code Online (Sandbox Code Playgroud)

aggregate r plyr reshape2

8
推荐指数
3
解决办法
1828
查看次数

标签 统计

r ×2

aggregate ×1

plyr ×1

reshape2 ×1