小编Seb*_*oss的帖子

带有sprintf的R data.table列通配符

给定data.table具有任意数量的列

dt = data.table( a = letters[1:5], b = rep('-', 5), c = LETTERS[1:5] )
#    a b c
# 1: a - A
# 2: b - B
# 3: c - C
# 4: d - D
# 5: e - E
Run Code Online (Sandbox Code Playgroud)

以及任意format字符串,该字符串具有与列数相对应的多个占位符

format = '%s0%s1%s'
Run Code Online (Sandbox Code Playgroud)

如何在sprintf不使用所有列名显式调用的情况下应用?只提供data.table不会起作用的,因为sprintf在这种情况下需要3个参数。打电话sprintf(format, dt$a, dt$b, dt$b)是没有选择的,因为我既不知道format也不是data.table事先知道。同样sapply,行索引将不起作用,因为必须对保留其顺序的行子集执行操作。

idx = seq( 1, by = 2, to = 5 …
Run Code Online (Sandbox Code Playgroud)

r data.table

2
推荐指数
1
解决办法
711
查看次数

标签 统计

data.table ×1

r ×1