【发布时间】:2017-12-14 20:38:30
【问题描述】:
我有一个包含多列和多行的数据框,我的目标是为每一列添加一个新列,并在其后添加一个新列,该列占列总和的比例。
我有类似的东西:
a b c
1 4 5
8 2 3
1 4 2
我正在尝试将其转换为:
a a.2 b b.2 c c.2
1 0.1 4 0.4 5 0.5
8 0.8 2 0.2 3 0.3
1 0.1 4 0.4 2 0.2
但我想不出一种方法来在循环中命名add_column 中的这些新列。
到目前为止,我的代码如下:
j=1
while (j <= length(colnames(eleicao))) {
i <- colnames(sample)[j]
nam <- paste("prop", i, sep = ".")
j=j+1
sample <- add_column(sample, parse(nam) = as.list(sample[i]/colSums(sample[i]))[[1]] .after = i)
}
我总是遇到同样的问题:Error: Column 'nam' already exists。
我怎样才能实现我的目标?我怎样才能让add_column 明白我正在尝试使用 'nam' 的 VALUE 来命名列?
【问题讨论】:
-
请接受有助于解决您问题的答案