鑑於以下DF:vectorise行,應用向量函數,返回到原來的數據幀[R
a=c('a','b','c')
b=c(1,2,5)
c=c(2,3,4)
d=c(2,1,6)
df=data.frame(a,b,c,d)
a b c d
1 a 1 2 2
2 b 2 3 1
3 c 5 4 6
我想申請一個函數,通常需要載體(並返回一個向量)像cummax
逐行到位置b
到d
的列。
然後,我想將輸出回到df中,作爲df新列中的向量,或者替換原始數據。
我想避免將它編寫爲for
循環,它會迭代每一行,將單元格的內容拉出到矢量中,完成它的工作並將其放回原處。
有沒有更高效的方法?我已經給出了應用系列函數,但我正在努力首先獲得一種逐行引導內容並獲得正確輸出的好方法。
最終輸出可能看起來像這樣(想象我已經應用了cummax()函數)。
a b c d
1 a 1 2 2
2 b 2 3 3
3 c 5 5 6
或
a b c d output
1 a 1 2 2 (1,2,2)
2 b 2 3 1 (2,3,3)
3 c 5 4 6 (5,5,6)
其中輸出是一個矢量。
請在你的問題中發佈你想要的結果,你用'4:2'表示的意思不清楚,這是否意味着從列d到列b的'cummax'(按行)? – lmo
事實上,它意味着這些列的逐行cummax。我有edi根據要求定下我的帖子。 – Bastien