R 研究過程中積累的小技巧 entry 1

2021-08-11 14:31:37 字數 1045 閱讀 5706

需求1:乙個41列的data frame(名為mydata)要改變最後一列的列名並需要將這一列移動到第一列的位置,而原來的第一列及其他依次後移。

解法:

names(mydata)[41]

<-"id"

mydata

<-cbind(mydata

[41],mydata

[,1:40])

需求2: 需要使用乙個已經編譯好的exe檔案去跑乙個有50個資料的資料集,這個exe檔案每次執行會呼叫相同路徑下的乙個名為args.txt的檔案,來得到每次要跑的資料名(如test_1.txt)和每次要輸出到的檔名(如result_1.txt)。所以每跑一次資料要修改一次args.txt檔案來使exe檔案能正確讀取下乙個要跑的資料並正確輸出到對應的txt中。如何用r實現?

解法:

#首先需要講args.txt中的初始輸入檔名和輸出檔名設定正確

for(i in

1:49)

shell("path\\to\\your\\folder\\example.exe")#執行最後一次掉用

需求3: 需求2中掉用exe後輸出的50個輸出檔案需要放到乙個檔案裡面,方便統計結果,並且這50個輸出檔案中每個輸出檔案都不需要前20行無用資料,如何用r實現?

解法:

for(i in

1:50)

需求4: r中有沒有類似matlab的ones函式和zeros函式?

解法:

aaa<-matrix(0,m,n)

#zeros(m,n)

bbb<-matrix(1,m,n)

#ones(m,n)

或者:aaa<-rep(0,m*n);

dim(aaa)

<-c(m,n)

#zeros(m,n)

bbb<-rep(1,m*n); dim(bbb)

<-c(m,n)

#ones(m,n)

甚至,寫成函式形式:

zeros<-function(nrow,ncol)

小技巧 DP過程中序列的記錄

一道例題 cf10d lcis 求最長公共上公升子串行的題。算是比較基礎和經典的dp題目。但是這道題目為什麼是藍了呢。可能就是因為它還需要維護乙個序列的記錄。怎麼維護呢?我們開乙個 pre 陣列,表示當前狀態的前乙個位置是什麼。即當前狀態是由哪個狀態新轉移過來的。這樣的話,我們只需要記錄終止點pos...

現代PHP開發過程中的小技巧

以下內容摘自 modern php 現代php,也加入了我的一些理解,如有錯誤,麻煩提出,我好改正 在這之前,我們使用ftp進行 管理,修改乙個php檔案,然後使用ftp上傳,這非常危險。現代php建議使用版本管理軟體進行 版本管理,例如使用git,可建立乙個可審查維護的 歷史,git提供 分支 復...

iOS開發過程中的小技巧集 一

var desstr self.describe.text as nsstring var num desstr.length if num 35 else 說明 首先,把字串轉譯成nsstring型別,然後計算字串的長度.其中num就是你想限制的字數.最後通過字串的substringtoindex...