聊聊R语言中t转置函数

Python013

聊聊R语言中t转置函数,第1张

t()

给定矩阵或数据框x,t函数返回x的转置。

矩阵里面所有内容都是相同类型数据,使用t()不会有问题。

转置后

可以看出来就是行变列,列变行了。数值型还是数值型。

再看看字符串类型的转置

转置后

可以看出来就是行变列,列变行了。字符串还是字符串。

数值型数据框和矩阵差不多,转置不会有太大问题。

转置后

但是转置前是data.frame,转置后的结果是matrix

如果data.frame里面既有数值型,又有字符串,t()转置后得到的matrix里面全部都会变成字符串。

可以看到Name是chr类型,Score是num类型 。再来t()转置后看看

可以看到原来的Score的数值型被转换成chr字符串类型了,不能再进行针对数值型的操作了。

这个时候如果还希望保持原来的数据类型,则需要用到as.data.frame函数

这时候转化后的Score行里面的数字都是数值型了。

因此,在对保护复杂数据类型的data.frame进行转置时,最好使用as.data.frame(t(x))来操作。

R语言t数据转置中一个简单的小问题,不注意就会犯错。

我有一个数据框如下:

此时,需要重新转换为数据框,即:

data.frame(t(df))