我想知道每一行如何计算取决于列的百分比?
这是虚拟数据集:
c <- c(10, 20, 30, 40, 50)
b <- c(40, 2, 40, 10, 50)
a <- c(100, 50, 70, 60, 100)
id <- c("a", "b", "c", "d", "e")
data <- data.frame(id, a, b, c)
head(data)
# id a b c
# 1 a 100 40 10
# 2 b 50 2 20
# 3 c 70 40 30
# 4 d 60 10 40
# 5 e 100 50 50
Run Code Online (Sandbox Code Playgroud)
对于每一行,我们如何将“a”列设置为 100%,并取决于 b 列和 c 列的计算比例?
这是预期的输出:
# …Run Code Online (Sandbox Code Playgroud) 我有这个虚拟输入数据框。(输入数据框无法更改)
data <- data.frame(c('c(a1, a10)'),
c('c(b1, b10)'),
stringsAsFactors = FALSE)
colnames(data) <- c('A', 'B')
head(data)
# A B
#1 c(a1, a10) c(b1, b10)
Run Code Online (Sandbox Code Playgroud)
我想将此数据框转换为下面的数据框。Tidyverse、dplyr方法会有所帮助。
# A B
#1 a1 b1
#2 a10 b10
Run Code Online (Sandbox Code Playgroud)