[问题] (已更新)将多个Function输出的内容整理成矩阵

楼主: chrisli7 (Vic)   2016-10-04 01:27:18
[问题类型]:
程式咨询(我想用R 做某件事情,但是我不知道要怎么用R 写出来)
[软件熟悉度]:
新手(没写过程式,R 是我的第一次)
[问题叙述]:
各位前辈好,因为自学R,见识可能短浅,实在想不出方法,
希望前辈可以提供想法,谢谢!
我目前遇到的问题是,我目前有写几个Function,然后把资料集丢入,
在source区里面,写成以下的方式:
function1(data1)
function1(data2)
function2(data3)
.
.
function3(data7)
如果达成if条件,会return出一个矩阵,
不知道是否有办法自动让这些判断出来的矩阵,
能够用rbind的方式或是其他方式堆叠成一个新的矩阵呢?
我用的方式是,先建立一个空矩阵,
我在function中最后写这个
newmatrix <- rbind(newmatrix,df3[,criteria])
就是希望能够在function执行完后可以重新覆写我设立的矩阵让他跑完,
可是实际上第一个function执行完后跑出的newmatrix并不会真的改变。
我在Console中打newmatrix,跑出来仍都是NA。
很抱歉我的观念也许不足,想请前辈们指点,谢谢!!
因为我的function有点多,PO上来解释也会搞得很复杂,若有前辈需要我再补上,
谢谢!!
作者: celestialgod (天)   2016-10-04 03:08:00
给一个简单能够执行的例子来说明会比较容易看懂你的问题
作者: andrew43 (讨厌有好心推文后删文者)   2016-10-04 08:23:00
欢迎。先提供一个极简单的例子来说明问题即可。
楼主: chrisli7 (Vic)   2016-10-04 22:25:00
前辈好,我已经修改过了,烦请前辈帮忙看看问题出在哪呢
作者: cywhale (cywhale)   2016-10-04 22:30:00
rbind(occupation(bike), occupation(bus),...)应该可以rbind不要写在function里面, function内回传t(df3[,..])
楼主: chrisli7 (Vic)   2016-10-04 22:39:00
可以耶!谢谢前辈!可是因为我整个Source类似的function有超多个几十个到百个,请问有把他们全部放到rbind里面的方法吗?前辈逻辑真好一下就解出,我怎么没想到,原来转个念而已
作者: cywhale (cywhale)   2016-10-04 23:11:00
不是前辈不敢当 你装purrr, data.table这两个pkg, 可用dl<-lapply(name.lst,get) #name.lst=c("bus","bike"..)rbindlist(map(dl, occupation)) 应该可以一次做完..
楼主: chrisli7 (Vic)   2016-10-10 01:02:00
谢谢cywhale大!真心感谢!祝福您有好报~

Links booklink

Contact Us: admin [ a t ] ucptt.com