2014-04-28 98 views
0

我將字符串列表存儲在data.frame的列中,我想要獲取這些列表的長度。獲取存儲在一列data.frame中的列表的長度

> class(df['4', "generated"]) 
[1] "list" 
> summary(df['4', "generated"]) 
    Length Class Mode  
4 180 -none- character 
> length(df['4', "generated"]) 
[1] 1 

如上所示DF [ 「4」, 「生成」]是 「列表」 類的,但不是長度的預期結果(DF [ '4', 「生成」])爲180它顯示1.

我如何獲得真正的列表長度?

UPD: 我創建JSON這樣的數據幀:

data <- fromJSON("out.json") 
matrix <- cbind(id=names(data), t(rbind(sapply(data, "c")))) 
df <- data.frame(matrix) 

和數據看起來是這樣的:

{ "4": 
    { "generated: 
     ["00A1CD093DB15425310C2BB57CB88BA460C87E5B26BAB3867D26870914E80603", 
     "018BE455F4A178A33517E3586AF115C9DF7356895B9A7416AD8D20D660B0866D", 
     "04C5893516CE5C3A6ADC907EC1484DE7542189E9AC7F138EE57DF088EF2F9D92", 
    <cut>] 
    } 
} 
+0

你可能在尋找'length(df [[「generated」]] [[4]]''?你能發佈一些樣本數據嗎? – A5C1D2H2I1M1N2O1R2T1

+0

@AnandaMahto請參閱最新的問題 – skeptics

回答

0

嘗試:

length(df['4', "generated"][[1]]) 

如果這工作對於「生成」列中的每個列表:

sapply(sapply(df[,"generated",drop=F],"[[",1),length) 
+0

您的建議實際上有效。我是否有權假定每一列條目都是一串字符串列表?我怎樣才能將它轉換爲列內的常規列表? – skeptics

相關問題