PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
R_Language
[問題] apply 取代for
作者:
disney82231
(菜逼八YOYOYO)
2018-03-29 14:59:49
[問題類型]:
程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
[軟體熟悉度]:
入門(寫過其他程式,只是對語法不熟悉)
[問題敘述]:
用for 寫了一個迴圈,想用apply寫出一樣的結果
另外想請問,在多數情況下,apply都能取代for嗎
[程式範例]:
for (i in 2:10){
x$v1[x[,i]==1] <- i }
}
若每列x的第i行=1時,x每列的第一行改成i
[關鍵字]:
apply for
作者:
andrew43
(討厭有好心推文後刪文者)
2018-03-29 15:10:00
看起來就不像是apply。apply是逐列或逐行做同一個func你的註解和code似乎不是同義的。
作者:
clansoda
(小笨)
2018-03-29 15:26:00
Hi, I suggest you to watch this article
#1QhBLjUr
I have explained when and why you should use applyor for loop in a given scenario
作者: vfgce (小兵)
2018-03-29 18:49:00
你有跑過你寫的東西嗎?你這樣是把第10行值為1的相對V1值設為10...對不起,看錯了...有不只一個i行=1時,第一行如何取?x1 = apply( x[,2:10],1, function(a) which(a==1)+1 )再令x$v1=x1, 假設每列2-10行中都會也只有一個1,但問題再變過就不見得能用這種方法處理.一般若是涉及索引,用for 比較容易寫...apply不一定能寫.對了,一般在apply中不修改變數值,而是傳回值...有些東西想不出來怎麼用apply就只能用for..但很多時候,是不夠了解 apply怎麼用...
作者:
celestialgod
(天)
2018-03-29 22:13:00
這個用vectorize加速比較好,apply不適用晚點傳code測了一下... 其實迴圈改一改就好XDD
作者: obarisk (OSWALT)
2018-03-30 05:32:00
這個問題用diag可以解
繼續閱讀
[問題] 讀取csv資料後的計算問題
rosetree
[問題] ifelse不執行動作
disney82231
[問題] arules的問題
jasonfghx
Re: [問題] shiny 恢復上次結果
jackylikebmw
[問題] 原始資料中遺漏值被填上奇怪文字問題
jasonfghx
[問題] 讀取資料如何正確分列?
b2815914
[問題] xlsx套件安裝問題
wu860125
[問題] 當read_csv遇到utf-8-BOM
locka
[問題] increasing 'x' and 'y' values expected
AndrewShi
Re: [問題] 迴圈轉向量或apply,關於股票macd技術指標
clansoda
Links
booklink
Contact Us: admin [ a t ] ucptt.com