R語(yǔ)言新知識(shí)2019-12-02

1、建立簡(jiǎn)單的二表連接:加載sqldf包,利用sql語(yǔ)句建立二表連接

colnames(test6)[3]=c("素材片段")#修改列名稱

library(sqldf)#加載包

test12021=sqldf("select name,素材片段,sum,創(chuàng)意點(diǎn)名稱 from test6,scb where test6.素材片段 = scb.素材片段 ")

或者,在R里面利用 %in% 進(jìn)行賦值,很麻煩。

2、按照條件進(jìn)行分組計(jì)算:新建立一個(gè)屬性,假設(shè)為A。滿足同一個(gè)條件時(shí)A[i]相等,改變其中一個(gè)條件時(shí)A[i]=A[i-1]+1。加入循環(huán):

for(i in 2:nrow(data)){

? if(data$usrid[i]==data$usrid[i-1] & log$iskw[i]==0){

? ? data$A[i]=data$A[i-1]

? }else{

? data$A[i]=data$A[i-1]+1

? }

}

3、利用data.table函數(shù)建立子表

## output:將用戶訪問級(jí)別數(shù)據(jù)按照關(guān)鍵詞匯總,得到關(guān)鍵詞級(jí)別的轉(zhuǎn)化數(shù)量和轉(zhuǎn)化分解

output=data.table(tmp6)[,list(acnt=sum(acnt),decmps.acnt=sum(weight)),by=kwid]

4、intersect(x,y)交集函數(shù),union(x,y)并集函數(shù),找不同setdiff(x,y),判斷相同setequal(x,y)(輸出值為TRUE?或者FALSE)

5、取單獨(dú)的:unique()? ??

6、把表格中的空值轉(zhuǎn)化為0:table2$R[is.na(table2$R)]=0

7、文本的拆分:利用gregexpr區(qū)分相同元素和不同元素

ptn = paste(pc2$標(biāo)題飄紅[i],pc2$描述飄紅[i],"-",",","/","!"," ","\\.","\\?"," ",";","\\&","_","\\[","\\]","…",pc2$關(guān)鍵詞[i],pc2$名稱[i], sep = '|')

txt = paste(pc2$創(chuàng)意標(biāo)題[i],pc2$創(chuàng)意描述[i])

# 取文本中和分格符一致的部分。得到的結(jié)果是list,用unlist()命令可以把它變成字符串

out1 = regmatches( txt, gregexpr(ptn,txt))

# 取文本中和分格符不一致的部分

out2 = regmatches( txt, gregexpr( ptn, txt), invert = T)

# 將兩部分結(jié)果拼接在一起,計(jì)算素材數(shù)

test1=as.data.frame(table( c( unlist( out1), unlist( out2))))

test1$name=pc2$名稱[i]

test1$q=pc2$q[i]

test1$index=test1$Freq*test1$q

8、按順序選排名前*個(gè):利用SQL語(yǔ)句

test51=sqldf("select * from test4 where name = 'XXX' order by sum DESC limit 238 ")

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容