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)))))
- 1 回答
- 0 關(guān)注
- 465 瀏覽
添加回答
舉報(bào)