我非常感谢以下数据纠缠任务的帮助。我有一个如下所示的数据框:
df <- data.frame(var1=c('a', 'b', 'c'), var2=c('d', 'e', 'f'), var3=c('h', 'j', 'k'))
我想用var1和var2固定次数复制每一行数据,比方说3次,但不是var3。在var3中代替缺失值我想要有0。
最后,我想有这个:
df.expanded
var1 var2 var3
1 a d h
2 a d 0
3 a d 0
4 b e j
5 b e 0
6 b e 0
7 c f k
8 c f 0
9 c f 0
答案 0 :(得分:4)
这确实与链接问题密切相关,主要区别在于“var3”中的预期值。牢记这一点,以下是我将如何做到这一点:
## Expand
df.expanded <- df[rep(rownames(df), each = 3), ]
## Replace
df.expanded[["var3"]] <- as.character(df.expanded[["var3"]])
df.expanded[["var3"]][c(FALSE, TRUE, TRUE)] <- 0
## View
df.expanded
# var1 var2 var3
# 1 a d h
# 1.1 a d 0
# 1.2 a d 0
# 2 b e j
# 2.1 b e 0
# 2.2 b e 0
# 3 c f k
# 3.1 c f 0
# 3.2 c f 0
这是使用“data.table”的可能方法:
library(data.table)
df.expanded <- as.data.table(df)[rep(sequence(nrow(df)), each = 3)][
, var3 := replace(as.character(var3), .I %% 3 != 1, 0)][]
df.expanded
# var1 var2 var3
# 1: a d h
# 2: a d 0
# 3: a d 0
# 4: b e j
# 5: b e 0
# 6: b e 0
# 7: c f k
# 8: c f 0
# 9: c f 0
答案 1 :(得分:2)
您可以尝试以下代码(适合我):
{% get_available_languages as LANGUAGES %}
<ul>
{% for lang_code, lang_name in LANGUAGES %}
<li><a href="{% translate_url lang_code %}">{{ lang_name }}</a></li>
{% endfor %}
</ul>
希望有所帮助
Gottavianoni