R 如何从同一行的两列创建序列
我有一个2列的数据框和一个可变的行数 例如: 我想从列E的第一个值到列p的第一个值乘以0.1的序列中创建一个data.frame,这就是我所做的代码:R 如何从同一行的两列创建序列,r,dataframe,seq,R,Dataframe,Seq,我有一个2列的数据框和一个可变的行数 例如: 我想从列E的第一个值到列p的第一个值乘以0.1的序列中创建一个data.frame,这就是我所做的代码: rows_covering <<- data.frame(c(c1 = list (seq (E[1],P[1], 0.1)), c2 = list (seq (E[2],P[2], 0.1)),
rows_covering <<- data.frame(c(c1 = list (seq (E[1],P[1], 0.1)),
c2 = list (seq (E[2],P[2], 0.1)),
c3 = list (seq (E[3],P[3], 0.1))
))
然而,由于我的行数正在改变,每次手动改变它并不好,特别是对于大量的行。
有可能自动完成吗?您可以试试
lapplyseq_alongE,functionx列表序列[x],P[x],0.1
你可以试试
lapplyseq_alongE,functionx列表序列[x],P[x],0.1
整洁的方式
df <- tibble(start = c(0.5, 0.2),
end = c(1, 0.8))
df %>% mutate(seq = map2(start, end, ~seq(.x, .y, by = 0.1)))
整洁的方式
df <- tibble(start = c(0.5, 0.2),
end = c(1, 0.8))
df %>% mutate(seq = map2(start, end, ~seq(.x, .y, by = 0.1)))
我认为你必须使用seqE[x],p[x],0.1
E <- c(0.5, 2, 3.5)
P <- c(1, 2.5, 4)
my_seq <- lapply(seq_along(E), function (x) (seq(E[x], P[x], 0.1)))
my_seq
我认为你必须使用seqE[x],p[x],0.1
E <- c(0.5, 2, 3.5)
P <- c(1, 2.5, 4)
my_seq <- lapply(seq_along(E), function (x) (seq(E[x], P[x], 0.1)))
my_seq
基本R选项是使用Map+seq
资料
基本R选项是使用Map+seq
资料
括号而不是括号?用括号代替括号?前任
> df
E P rows_covering
1 0.5 1.0 0.5, 0.6, 0.7, 0.8, 0.9, 1.0
2 2.0 2.5 2.0, 2.1, 2.2, 2.3, 2.4, 2.5
3 3.5 4.0 3.5, 3.6, 3.7, 3.8, 3.9, 4.0
df <- structure(list(E = c(0.5, 2, 3.5), P = c(1, 2.5, 4)), class = "data.frame", row.names = c(NA,
-3L))
> df
E P
1 0.5 1.0
2 2.0 2.5
3 3.5 4.0