【发布时间】:2017-02-06 20:36:59
【问题描述】:
df <- data.frame(x=c(1,2,1,2,3,3), y = c(letters[1:5],'a'), val = c(1:5, 9))
print(df)
x y val
1 a 1
2 b 2
1 c 3
2 d 4
3 e 5
3 a 9
我想创建一个函数fun(df, rowname, colname, valname),它接受一个数据框、行名、列名和值输入,并返回一个带有行名、列名和值的数据框或矩阵,如下所示
fun(df, "x","y","val") should return
1 2 3
a 1 NA 9
b NA 2 NA
c 3 NA NA
d NA 4 NA
e NA NA 5
【问题讨论】:
-
看看reshape2包,函数
cast和melt可能就是你要找的。span> -
库(dplyr);传播(df,x,val)
标签: r