2015-06-30 49 views
2

是否有函數用於打印以(值)開頭的數據集中包含的值的總數?找到以R中的值開始的字符串的出現

認爲該數據集的版本4號,

df <- c("1.20", "3.1.20", "2.45", "1.10", "1.67.4.3", "5.200.1", "70.1.2.7") 

我只需要打印版本號1.x。 我的輸出是:

1.20, 1.10, 1.67.4.3 

(becasue這些版本號與「1」開始我不希望打印3.1.2070.1.2.7 becasue他們不以「1」開始eventhough它們含有「 1.」作爲子

回答

5
df <- c("1.20", "3.1.20", "2.45", "1.10", "1.67.4.3", "5.200.1", "70.1.2.7") 
grep("^1\\.", df, value = TRUE) 
+0

得到一個特徵(0)輸出 – vardha

+2

@vardha它工作正常。錯誤在你身邊。 –

0

使用功能substring的子集內括號:

df[substring(df, 1,2) == "1."] 
0

或者:

sum(substr(df, 1, 2) == "1.") 
[1] 3 

而對於值本身:

df[substr(df, 1, 2) == "1."] 
[1] "1.20"  "1.10"  "1.67.4.3" 
+0

我改變了代碼,以便諸如「10.」之類的值。沒有被選中。 –

0
df[df<"2"] 
#[1] "1.20"  "1.10"  "1.67.4.3" 

根據您的數據集(例如,如果有版本號具有前導零),您可能需要展開這個建議的解決方案由df[df<"2" & df>="1"]

在這種情況下,以「1」開頭的值的總數可以通過length(df[df<"2"])(或length(df[df<"2" & df >="1"]))。

相關問題