R如何按类别分割数值变量

时间:2017-01-25 18:55:48

标签: r

我有两列:一列是数字变量,另一列是分类变量。我如何制作它以便我的分类变量的n个类别有n列,每列中的数据是属于该类别的数值观察。请帮助,我已经尝试过查找但我找不到能够解决问题的功能。

谢谢!

1 个答案:

答案 0 :(得分:1)

假设样本数据:

df = data.frame(x = c(3,6,1,3,8,2) , y = c(letters[1:4], 'c','a'))
df
#  x y
#1 3 a
#2 6 b
#3 1 c
#4 3 d
#5 8 c
#6 2 a

df1 = data.frame(df$x* sapply(unique(df$y), function(x) as.numeric(grepl(x, df$y))))
colnames(df1) = unique(df$y)
#     a    b    c    d
#1    3    0    0    0
#2    0    6    0    0
#3    0    0    1    0
#4    0    0    0    3
#5    0    0    8    0
#6    2    0    0    0