【问题标题】:R: factors across columns as dummy variableR:跨列的因子作为虚拟变量
【发布时间】:2015-08-21 14:53:26
【问题描述】:

我在 R 中工作,我需要解决以下问题。 我有以下格式的数据。

Users   Lang_1  Lang_2  Lang_3  Lang_4  Lang_5
user_1  C       SAS     Python  SPSS    Java
user_2  R       C++     Java
user_3  SAS     R       Python  Octave
user_4  iPython SQL     R
user_5  SQL     Java    Dot Net Python

并且需要我的输出格式如下

Users   C   R   SAS   iPython   SQL   C++   Java   Python   DotNet   SPSS   Octave
user_1  1   0   1       0       0     0     1       1       0        1      0
user_2  0   1   0       0       0     1     1       0      0         0      0
user_3  0   1   1       0       0     0     0       1      0         0      1
user_4  0   1   0       1       1     0     0       0      0         0      0
user_5  0   0   0       0       1     0     1       1      1         0      0

尝试使用上述信息进行分类。请帮助我。

【问题讨论】:

  • 请阅读meltcast的文档。
  • 致其他人:他的“期望输出”没有英文单词吗?在我看来,真正的问题似乎总是人们不知道要搜索什么......
  • 您可以通过检查这两个链接开始研究它:a) statmethods.net/management/reshape.html , b) r-bloggers.com/introducing-tidyr
  • 我不知道该怎么做。谢谢你的建议。

标签: r melt dummy-variable


【解决方案1】:
library(reshape)

#读取问题数据帧

data <- read.csv(file.choose())

#传递id变量的索引

data_m <- melt(data,id.vars = 1)

#删除值列空白处的观察

data_m <- data_m[-which(data_m$value==""),]

#删除的变量列

data_m <- data_m[,-2]

#desired 输出通过以下命令运行

cast(data_m,Users~value,length) 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-29
    • 2015-07-04
    • 1970-01-01
    • 1970-01-01
    • 2014-01-27
    • 2016-12-05
    相关资源
    最近更新 更多