溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么用R語(yǔ)言把表格CSV文件中的數(shù)據(jù)變成一列并且行名為原列名呢

發(fā)布時(shí)間:2021-11-22 09:41:08 來(lái)源:億速云 閱讀:238 作者:柒染 欄目:大數(shù)據(jù)

怎么用R語(yǔ)言把表格CSV文件中的數(shù)據(jù)變成一列并且行名為原列名呢,針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。

今天收到一封郵件,來(lái)詢問這樣的問題:

怎么用R語(yǔ)言把表格CSV文件中的數(shù)據(jù)變成一列并且行名為原列名呢

這樣的郵件,是直接的郵件,沒有寒暄直奔主題的郵件。唯一的遺憾是不知道是誰(shuí)寫的……

如果我理解的沒有錯(cuò)誤的話,寫信人的需求應(yīng)該是這個(gè)樣子的:

他的原始數(shù)據(jù):

怎么用R語(yǔ)言把表格CSV文件中的數(shù)據(jù)變成一列并且行名為原列名呢

處理后想要得到的數(shù)據(jù):

怎么用R語(yǔ)言把表格CSV文件中的數(shù)據(jù)變成一列并且行名為原列名呢

處理代碼:

set.seed(123)
dd = data.frame(ID = 1:10,y1=rnorm(10),y2=rnorm(10),y3=rnorm(10),y4=rnorm(10))dd
library(data.table)melt(dd,id=1)

代碼解釋:

1,dd為模擬生成的數(shù)據(jù)框數(shù)據(jù),第一列為ID,其它幾列為性狀

2,使用的函數(shù)為data.table包中的melt函數(shù)

3,melt中,dd為對(duì)象數(shù)據(jù)框,id為不變的列數(shù),這里是ID一列,列數(shù)所在的位置為1,其它幾列都變成一列,然后列名變?yōu)樾忻?/p>

來(lái)信者需求:

怎么用R語(yǔ)言把表格CSV文件中的數(shù)據(jù)變成一列,并且行名為原列名呢,謝謝

1,csv文件,可以用fread函數(shù)讀取,命名,為dd

2,數(shù)據(jù)變?yōu)橐涣?,如果沒有ID這一列,全部都是性狀,可以這樣運(yùn)行:melt(dd),達(dá)到的效果如下:

怎么用R語(yǔ)言把表格CSV文件中的數(shù)據(jù)變成一列并且行名為原列名呢

所以,就是一個(gè)函數(shù)melt的應(yīng)用。

關(guān)于怎么用R語(yǔ)言把表格CSV文件中的數(shù)據(jù)變成一列并且行名為原列名呢問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI