Get-ADUser -filter * -properties passwordlastset, passwordneverexpires | sort-object name | select-object Name, passwordlastset, passwordneverexpires | Export-csv -path c:\temp\user-password-info-20131119.csv
在r中,如何将列B的值除以列A的前一行值
喜欢3/10和4/30
答案 0 :(得分:3)
使用Base R:
transform(dat,new=c(NA,head(column_a,-1))/column_b)
column_a column_b new
1 10 2 NA
2 30 3 3.333333
3 40 4 7.500000
答案 1 :(得分:0)
您可以使用lead()
中的lag()
和dplyr
,它会在向量中找到下一个或上一个值:
library(dplyr)
df <- data.frame(a = c(10, 30, 40),
b = c(2, 3, 4))
第一个选项:lead()
lead(df$b) / df$a
返回
[1] 0.3000000 0.1333333 NA
第二个选项:lag()
df$b / lag(df$a)
返回
[1] NA 0.3000000 0.1333333
答案 2 :(得分:0)
dta <- data.frame(column_a = c(10, 30, 40), column_b = c(2, 3, 4))
# install.packages(c("tidyverse""), dependencies = TRUE)
library(tidyverse)
tbl <- dta %>% as_tibble()
mutate(tbl, column_a_lag = lag(column_a), a_lag_div_b = column_a_lag/column_b)
#> # A tibble: 3 x 4
#> column_a column_b column_a_lag a_lag_div_b
#> <dbl> <dbl> <dbl> <dbl>
#> 1 10 2 NA NA
#> 2 30 3 10 3.333333
#> 3 40 4 30 7.500000
不经意地,你也可以直接去那里 ,
tbl %>% mutate(lag_a = lag(column_a)/column_b, lead_b = column_a/lead(column_b))
#> # A tibble: 3 x 4
#> column_a column_b lag_a lead_b
#> <dbl> <dbl> <dbl> <dbl>
#> 1 10 2 NA 3.333333
#> 2 30 3 3.333333 7.500000
#> 3 40 4 7.500000 NA
我想回应Sotos&#39;以上评论。通常很好地证明你已经付出了一些努力。此外,您应始终努力提供a complete minimal reproducible example以继续您的问题。我们可以使用的东西,用于向您展示如何回答您的问题。我还建议看一下这篇文章; how do I ask a good question,但由于您是网站新手,我们会尽力帮助您入门。
答案 3 :(得分:0)
使用data.table
dt[ , new:= column_b / shift(column_a)]
column_a column_b new
1: 10 2 NA
2: 30 3 0.3000000
3: 40 4 0.1333333