我有一个需要转换的数据框。我需要根据列的值将唯一行更改为单列。
我的数据如下:
df1 <- data.frame(V1 = c("a", "a", "b", "b","b"),
V2 = c("product1", "transport", "product1", "product2","transport"),
V3 = c("100", "10", "100", "100","10"))
> df1
V1 V2 V3
1 a product1 100
2 a transport 10
3 b product1 100
4 b product2 100
5 b transport 10
Run Code Online (Sandbox Code Playgroud)
我需要进行以下转换,并将 V3 的值除以 V1 中包含的产品数量。
> df2
V1 V2 transport V3
1 a product1 10 100
2 b product1 5 100
3 b product2 5 100
Run Code Online (Sandbox Code Playgroud) 我有以下数据框:
variable Date values values2
1 a 2017-01-01 3 1
2 a 2017-01-02 4 2
3 a 2017-01-03 5 1 # non-zero followed by zero
4 a 2017-01-04 0 2
5 a 2017-01-05 0 2
6 a 2017-01-06 0 3
7 b 2017-01-01 10 1
8 b 2017-01-02 11 2
9 b 2017-01-03 12 2
10 b 2017-01-04 13 3
11 b 2017-01-05 14 0
12 b 2017-01-06 15 1
13 c 2017-01-01 45 2
14 c 2017-01-02 50 3 …Run Code Online (Sandbox Code Playgroud) 我需要以数字改变的方式复制向量,因为目前我只复制相同的数字。
例子:
> rep(c(sample(c(1:100),5, replace = T),sample(NA ,5, replace = T)), 2)
[1] 33 91 48 18 29 NA NA NA NA NA 33 91 48 18 29 NA NA NA NA NA
I would like
[1] 33 91 48 18 29 NA NA NA NA NA 23 45 27 67 55 NA NA NA NA NA
Run Code Online (Sandbox Code Playgroud) 我有几个包含每月数据的数据框,我想找到每个产品和每个月的百分比分布。我对几个月的多列有问题。目前,我只能获得一个月内按组划分的百分比。
data <- data.frame(group = rep(LETTERS[1:3], each = 4),
Product = letters[1:4],
January = sample(1:100,12),
February = sample(1:100,12))
data_new1 <- transform(data,
perc = ave(January,
group,
FUN = prop.table))
data_new1$perc<-round(data_new1$perc, 2)
> data_new1
group Product January February perc
1 A a 12 16 0.05
2 A b 73 75 0.32
3 A c 78 11 0.34
4 A d 65 35 0.29
5 B a 86 63 0.36
6 B b 33 71 0.14
7 B c 92 49 0.38
8 …Run Code Online (Sandbox Code Playgroud) 我想expected基于其他两列创建一个新列。通过添加 columnconst中的值并减去column 中的值来创建新列value。
我的数据:
df<-data.frame(product = rep(c('A','B'),each=4), data = seq(as.Date("2020-01-01"), as.Date("2020-01-04"), by = "day"),
value = c(10, 15, 0, 5, 20, 5, 10, 0), const = c(100, 0, 10, 0, 100, 0, 0, 10),
expected = c(90, 75, 85, 80, 80, 75, 65, 75))
> df
product data value const expected
1 A 2020-01-01 10 100 90
2 A 2020-01-02 15 0 75
3 A 2020-01-03 0 10 85
4 A 2020-01-04 5 0 …Run Code Online (Sandbox Code Playgroud) r ×5
dataframe ×4
dplyr ×2
data.table ×1
percentage ×1
replication ×1
sample ×1
tidyr ×1
transform ×1