作者clansoda (小笨)
看板R_Language
标题Re: [问题] 如何更有效率的整理data的问题?
时间Tue Jan 31 08:52:54 2017
Hi, 我尽量理解你的意思了 下面是我用data.table写的一种方法
其实也是土法炼钢 我不太清楚有没有更好的function可以一步到位
我自己用2000个值来看 没啥速度问题 可能要200000或更大的值来看看吧
只是给你参考的一种做法
http://pastebin.com/zYjTra0i
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 101.9.32.234
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1485823980.A.406.html
1F:推 phil5566: 谢谢clansoda大的回答,但是我用你的code跑过一遍之後发 01/31 16:02
2F:→ phil5566: 现如果一开始产生data时没有出现1.5,分类一样不会出现 01/31 16:05
3F:→ phil5566: 1.5,即产生出来的矩阵列数是小於120的矩阵 01/31 16:06
4F:→ celestialgod: 因为他没有看完你的文章XDD data.table做一样是 01/31 16:07
5F:→ celestialgod: 两两unique做 01/31 16:07
7F:→ phil5566: 不过再请教一下,您的code里有一行是 01/31 16:15
8F:→ phil5566: dat[, .(Counting = .N), .(x, y)][order(x, y)] 01/31 16:16
9F:→ phil5566: dat是一个矩阵,为何dat[,,]里会有两个"," 01/31 16:18
10F:→ phil5566: ?".N"和".(x, y)"代表什麽意思? 01/31 16:24
11F:→ phil5566: `:=`和:=又是什麽意思?谢谢 01/31 16:28
12F:→ celestialgod: dat是data.table不是矩阵 01/31 16:33
13F:→ celestialgod: :=跟 `:=`基本是相同,一个是函数form,另一个是 01/31 16:33
14F:→ celestialgod: operator 01/31 16:33
15F:→ celestialgod: :=是operator, `:=`是函数 01/31 16:34
16F:→ celestialgod: .N是计算个数, .(x,y)是他少写了by = .(x,y) 01/31 16:34
17F:→ celestialgod: by是data.table拿来做grouping的一个input 01/31 16:34
18F:→ celestialgod: 我觉得p大还是专心在matrix上的操作就好 01/31 16:34
19F:推 phil5566: 受教了~谢谢 01/31 17:12
20F:→ clansoda: 我有看完 不过我真心看不太懂 觉得要用范例比较好 01/31 20:45