的r縮寫()是用於截斷,除其他外,一個數據幀爲設定的長度的列名,與漂亮的檢查,以確保其唯一性是有用的,等:數據幀打印
abbreviate(names(dframe), minlength=2)
期間縮寫列名
人們可以,當然,使用此功能,可在位縮寫列名,然後打印出改變的數據幀
>>names(dframe) <- abbreviate(names(dframe), minlength=2)
>>dframe
但我想打印出來的數據幀用縮寫列名無更改數據框架在過程中。希望這可以通過print()調用中的一個簡單格式選項完成,儘管我通過print.data.frame等打印和格式方法的幫助頁搜索沒有找到任何明顯的解決方案(可用選項似乎更適合格式化列值,而不是他們的名字)。因此,print()或format()是否有任何可以在列名稱上調用abbreviate()的選項?如果沒有,有沒有辦法在傳遞給print()之前將abbreviate()應用於數據框的列名,而不改變傳遞的數據框?
我想的越多,我認爲唯一的方法就是將print()與已經縮寫的列名的數據框的副本一起傳遞。但是這對我來說不是一個解決方案,因爲我不想在互動會話期間更新原始文件的情況下不斷更新此副本。原始列名稱必須保持不變,因爲我使用哪些(colnames(dframe)==「name_of_column」)與數據進行接口。
我的終極目標是在像服務器審計員這樣的ssh應用程序中工作時,在我的移動設備的小屏幕上更好地遠程工作。如果列名縮寫爲只有2-3個字符,我仍然可以識別它們,但可以在屏幕上顯示更多數據。也許甚至有R包更適合濃縮印刷?
對,剛剛偷BondedDust的回答:-)好吧,srsly,爲'abbr'增加'class'和默認參數很好。 – 2014-11-23 13:05:05
拍攝! Duh功能已經可以與副本一起工作,因此不需要修改原始文件。我也發現定義一個'class'是一個非常乾淨的解決方案。這將成爲這個noob未來編程習慣的一部分:) – courtyardz 2014-11-24 00:33:08