【发布时间】:2020-12-22 18:13:01
【问题描述】:
强调文本我有一个矢量数据,我想从 2 个示例开始获取所有数据
x
我想得到这个答案: “2”、“22”、“222”
【问题讨论】:
-
你的意思是只有第一个数字还是所有数字?
-
到目前为止,您自己尝试过什么来解决这个问题...?
-
这个问题不够清楚,需要详细说明目标是什么
强调文本我有一个矢量数据,我想从 2 个示例开始获取所有数据
x
我想得到这个答案: “2”、“22”、“222”
【问题讨论】:
如果我们想返回只有 2 的数字,一个选项是 grep 以匹配从字符串的开头 (^) 到结尾的一个或多个 '2' (2+) 的模式($) 的字符串
as.numeric(grep('^2+$', x, value = TRUE))
#[1] 2 22 222
或者对于第一个数字,只需指定开始 (^) 后跟数字 2
as.numeric(grep('^2', x, value = TRUE))
或substr
x[substr(x, 1, 1) == 2]
x <- 1:1000
【讨论】:
我不确定你要找的是哪一个
> x[startsWith(as.character(x), "2")]
[1] 2 20 21 22 23 24 25 26 27 28 29 200 201 202 203 204 205 206
[19] 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224
[37] 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242
[55] 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260
[73] 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278
[91] 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296
[109] 297 298 299
或
> x[grepl("^2+$", x)]
[1] 2 22 222
【讨论】: