R 如何将输入和输出表转换为矩阵?
我正在尝试将当前列在data.table中的输入和输出表(就像中学/高中代数教科书中介绍函数一样,请参见下面的示例)转换为矩阵,其中输入作为行和列标签,输出作为矩阵条目R 如何将输入和输出表转换为矩阵?,r,data.table,R,Data.table,我正在尝试将当前列在data.table中的输入和输出表(就像中学/高中代数教科书中介绍函数一样,请参见下面的示例)转换为矩阵,其中输入作为行和列标签,输出作为矩阵条目 > dt <- data.table(x = c("a","b","c"), y = c("T1", "T2", "T2"), z = c(10:12)) > dt x y z 1:
> dt <- data.table(x = c("a","b","c"), y = c("T1", "T2", "T2"), z = c(10:12))
> dt
x y z
1: a T1 10
2: b T2 11
3: c T2 12
> dt2 <- data.table(x = c("a","b","c"), T1 = c(10,0,0), T2 = c(0,11,12))
> dt2
x T1 T2
1: a 10 0
2: b 0 11
3: c 0 12
我一直在创建函数f(x,y),将
dt
与dt2attempt
关联,从而生成dt2
。有更好的方法吗?非常感谢您提供的任何建议或功能。dt2
可以使用dcast
生成:
> dcast(dt, x ~ y, value.var = 'z', fill = 0)
x T1 T2
1: a 10 0
2: b 0 11
3: c 0 12
同样tidyr::pivot\u更宽(dt,name\u from=y,values\u from=z,values\u fill=0)
> dcast(dt, x ~ y, value.var = 'z', fill = 0)
x T1 T2
1: a 10 0
2: b 0 11
3: c 0 12