【发布时间】:2019-09-26 00:36:02
【问题描述】:
以前,我的问题是如何从包含 na 的其他列中按名称获取列值,但现在这个表是动态的,如果有更多列(最多 6 列),它应该是具有值的列和在北美休息。
也就是说,如果有2个name和value put var1 and value_v1, var2 and value_v2,应该有var3 and value3 = NA,直到你得到var6和value6
这是一个简单的例子。
THis table is dinyamic, there may be more columns or not.
> d
value1 value2 var1
1: one two value1
2: uno dos value2
3: 1 2 value1
4: NA NA NA
5: 6 7 value2
我有一个解决方案来添加一个列 (value of column=value_v1,value_v2...etc),其中包含由 '(name of column= var1, var2..) 指定的列的值
我有针对这种情况的解决方案:
d[, value_v1 := get(replace(var1, is.na(var1), "value1")), 1:nrow(d)] d[, value_v2 := get(replace(var2, is.na(var2), "value2")), 1:nrow(d)]
> d
但我需要考虑是否存在更多列名和列值(最多 6 个)。 这可能是结果,如果有另一个columana,这个想法是去var6
> d
value1 value2 var1 value_v1 var2 value_v2
1: one two value1 one na na
2: uno dos value2 dos na na
3: 1 2 value1 1 na na
4: NA NA NA NA na na
5: 6 7 value2 7 na na
【问题讨论】:
标签: r data.table