是否有用于打印以(值)开头的数据集中包含的值总数的函数?
考虑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
(因为这些是版本号开始与“1”。我不想打印3.1.20
或70.1.2.7
,因为它们不是以“1”开头的。它们包含“1.”作为子串
答案 0 :(得分: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)
答案 1 :(得分:0)
使用括号内的substring
函数进行子集化:
df[substring(df, 1,2) == "1."]
答案 2 :(得分:0)
或者:
sum(substr(df, 1, 2) == "1.")
[1] 3
对于价值观本身:
df[substr(df, 1, 2) == "1."]
[1] "1.20" "1.10" "1.67.4.3"
答案 3 :(得分:0)
df[df<"2"]
#[1] "1.20" "1.10" "1.67.4.3"
根据您的数据集(例如,如果版本号前导为零),您可能需要通过df[df<"2" & df>="1"]
以&#34; 1&#34;开头的值的总数在这种情况下,可以使用length(df[df<"2"])
(或length(df[df<"2" & df >="1"])
)获得。