第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

將一列拆分為多個(gè)二進(jìn)制偽列

將一列拆分為多個(gè)二進(jìn)制偽列

海綿寶寶撒 2019-12-06 10:51:34
我正在嘗試將數(shù)據(jù)框中的單個(gè)“字符”變量拆分為多個(gè)“因子”變量。> sampledf=data.frame(vin=c('v1','v2','v3'),features=c('f1:f2:f3','f2:f4:f5','f1:f4:f5'))> sampledf  vin features1  v1 f1:f2:f32  v2 f2:f4:f53  v3 f1:f4:f5> desireddf=data.frame(vin=c('v1','v2','v3'),f1=c(1,0,1),f2=c(1,1,0),f3=c(1,0,0),f4=c(0,1,1),f5=c(0,1,1))> desireddf  vin f1 f2 f3 f4 f51  v1  1  1  1  0  02  v2  0  1  0  1  13  v3  1  0  0  1  1我嘗試使用strsplit()分隔“功能”列strsplit(as.character(df$features), ";") 但是沒有運(yùn)氣可以分解它們。
查看完整描述

1 回答

?
嚕嚕噠

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超7個(gè)贊

我們可以使用mtabulate從qdapTools拆分后(strsplit(..)的“功能”一欄。


library(qdapTools)

cbind(sampledf[1],mtabulate(strsplit(as.character(sampledf$features), ':')))

#  vin f1 f2 f3 f4 f5

#1  v1  1  1  1  0  0

#2  v2  0  1  0  1  1

#3  v3  1  0  0  1  1

或者我們可以使用cSplit_e從library(splitstackshape)


library(splitstackshape)

df1 <- cSplit_e(sampledf, 'features', ':', type= 'character', fill=0, drop=TRUE)

names(df1) <-  sub('.*_', '', names(df1))

還是使用base R方法,我們split像以前一樣,在with'vin'列中設(shè)置list元素的名稱,strsplit使用stack,獲取table,轉(zhuǎn)置和cbind在'sampledf'的第一列中將其轉(zhuǎn)換為鍵/值列'data.frame'。


cbind(sampledf[1],  

 t(table(stack(setNames(strsplit(as.character(sampledf$features), ':'), 

              sampledf$vin)))))


查看完整回答
反對(duì) 回復(fù) 2019-12-06
  • 1 回答
  • 0 關(guān)注
  • 465 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)