Çok ihtiyacım olan cevapları almak için R için çok yeni bir fonksiyona sahip olmak ve işlevlerini çalıştırmakta zorluk çekiyorum. zamanla sitelerine ilgili olarakR ile yardım ve gruplama/toplama/* apply/data.table
Date Site Word
--------------------------------------
9/1/2012 slashdot javascript
9/1/2012 stackexchange R
9/1/2012 reddit R
9/1/2012 slashdot javascript
9/1/2012 stackexchange javascript
9/5/2012 reddit R
9/8/2012 slashdot javascript
9/8/2012 stackexchange R
9/8/2012 reddit R
9/8/2012 slashdot javascript
9/18/2012 stackexchange R
9/18/2012 reddit R
9/18/2012 slashdot javascript
9/18/2012 stackexchange R
9/27/2012 reddit R
9/27/2012 slashdot R
Amacım farklı kelimelerin geçtiği trendlere yönelik görünüyor şudur: Ben örnek verileri şuna benzer
PCSTest var.library(plyr)
PCSTest <- read.csv(file="c:/PCS/PCS Data - Test.csv", header=TRUE)
PCSTest$Date <- as.Date(PCSTest$Date, "%m/%d/%Y")
PCSTest$Date <- as.POSIXct(PCSTest$Date)
countTest <- count(PCSTest, c("Date", "Site", "Word"))
bu veren: Onları sayabilir
Date Site Word freq
1 2012-08-31 20:00:00 reddit R 4
2 2012-08-31 20:00:00 slashdot javascript 7
3 2012-08-31 20:00:00 stackexchange javascript 1
4 2012-08-31 20:00:00 stackexchange R 2
5 2012-09-01 20:00:00 reddit javascript 2
6 2012-09-01 20:00:00 slashdot R 3
7 2012-09-04 20:00:00 reddit R 1
8 2012-09-07 20:00:00 reddit R 1
9 2012-09-07 20:00:00 slashdot javascript 2
10 2012-09-07 20:00:00 stackexchange R 1
11 2012-09-09 20:00:00 stackexchange javascript 4
12 2012-09-10 20:00:00 slashdot R 4
13 2012-09-14 20:00:00 reddit javascript 4
14 2012-09-17 20:00:00 reddit R 4
15 2012-09-17 20:00:00 slashdot javascript 1
16 2012-09-17 20:00:00 stackexchange R 2
17 2012-09-19 20:00:00 reddit javascript 2
18 2012-09-23 20:00:00 stackexchange javascript 2
19 2012-09-24 20:00:00 reddit javascript 3
20 2012-09-24 20:00:00 stackexchange javascript 1
21 2012-09-24 20:00:00 stackexchange R 4
22 2012-09-25 20:00:00 reddit javascript 5
23 2012-09-25 20:00:00 slashdot javascript 3
24 2012-09-25 20:00:00 stackexchange R 7
25 2012-09-26 20:00:00 reddit R 1
26 2012-09-26 20:00:00 slashdot R 5
veya hepsini çizmek:
library(ggplot2)
ggplot(data=countTest, aes(x=Date, y=freq, group=interaction(Site, Word), colour=interaction(Site, Word), shape=Site)) + geom_line() + geom_point()
şimdi veriler üzerinde bazı hesaplamalar yapmanız gereken Bu yüzden,
kümelerini denedimaggregate(freq ~ Site + Word, data = countTest, function(freq) cbind(mean(freq), max(freq)))[order(-agg$freq[,3]),]
veren: bu son sonucu istiyoruz ne
Site Word freq.1 freq.2
2 slashdot javascript 3.25 7.00
5 slashdot R 4.00 5.00
1 reddit javascript 3.20 5.00
4 reddit R 2.20 4.00
6 stackexchange R 3.20 7.00
3 stackexchange javascript 2.00 4.00
hesaplanan günlük ortalama frekansı, gibi bir şey ... toplamı (frekans)/20 gün, olan bir sütundur veri, belki de hareketli bir ortalama. Ayrıca, eğim/doğrusal regresyon ile başka bir sütun istiyorum. Toplam işlevde bunu nasıl hesaplayabilirim? Ya da bunlardan herhangi birini nasıl daha iyi/daha hızlı yapardım? Uygulamanın ve data.table işlevlerin olduğunu biliyorum ama onları nasıl kullanacağımı göremiyorum. Herhangi bir yardım büyük takdir edilecektir!
@Oleg Sorunuzda 20 gün boyunca ortalama sıklık almak istediğinizi belirttiniz. Tarih aralığını belirtmek isterseniz, 'filter()' işlevini kullanabilirsiniz. 'Filter() 'ile alt kümeniz var. Böyle bir şey. filtre (d, Tarih> = "2012-09-01", Tarih <= "2012-09-25") – jazzurro