2015-05-29 22 views
0

我有一個矢量:獲取每個元素的長度的數據幀中作爲R

df <- c(65225, 108249, 156508, 29321, 37905, 50175, 62484, 69943, 73723, 
     555, 12, 331, 1000000, 15232, 1433, 441009, 11141414, 050505) 

,我想找出向量的每個元素的長度。

我該怎麼做?我嘗試使用應用系列中的某些東西,但不斷收到參數錯誤。我會用seq_along(length(df))嗎?

基本上輸出將是每個觀察長度的數字和列的列。然後,我可以僅對那些行數爲df$dfLen > 5的行進行子集分類。

+2

你想'的nchar(DF)'?或者你只是想'df [df> = 10000]' – user20650

+1

首先,這是一個向量,而不是data.frame。而且,它充滿了數字。數字沒有「長度」。你想要每個數字的位數嗎?或者他們真的是性格價值觀? R不會在「050505」 – MrFlick

+1

Fyi的情況下存儲數字的前導零,這不是數據幀;它是一個矢量。如果你想知道數字的數量級,你可以使用'floor(log10(x))' – Frank

回答

2

這就是你想要的嗎?

df <- c('65225,108249,156508,29321,37905,50175,62484,69943,73723, 555, 12, 331, 1000000, 15232, 1433, 441009, 11141414, 050505') 
df <- gsub(" ", "", df, fixed = TRUE) #remove spaces 
dfl=strsplit(df, ",") 
sapply(dfl,nchar) 
 [,1] 
[1,] 5 
[2,] 6 
[3,] 6 
[4,] 5 
[5,] 5 
[6,] 5 
[7,] 5 
[8,] 5 
[9,] 5 
[10,] 3 
[11,] 2 
[12,] 3 
[13,] 7 
[14,] 5 
[15,] 4 
[16,] 6 
[17,] 8 
[18,] 6 
+0

這就是magick。是否有可能做這樣的事情,而不轉換爲字符向量? – Zach

+0

當然,唯一的問題是「050505」,嘗試'sapply(df,nchar)' – Robert

+0

0505050是我用來組成矢量的垃圾數據。 PERFECTO!謝謝@羅伯特。 – Zach

相關問題