小编ode*_*hem的帖子

R - 测试值是否与上面单元格中的值相同

我有以下 df:

name   color
A      red 
B      red
C      green
D      red
E      red
F      red
Run Code Online (Sandbox Code Playgroud)

我想测试“颜色”列中的值,看看它们是否与上面行中的值相同并写入新列......我可以使用以下方法:

> df$same <- ifelse(df$color == df$color[c(NA,1:(nrow(df)-1))], 1, 0)
Run Code Online (Sandbox Code Playgroud)

给我:

name   color  same
A      red      NA
B      red       1
C      green     0
D      red       0
E      red       1
F      red       1
Run Code Online (Sandbox Code Playgroud)

但是有没有更干净的方法来做到这一点?(我经常用这个)...

if-statement r dataframe na dplyr

2
推荐指数
1
解决办法
5576
查看次数

R - 拆分数据帧而不删除NA值

如果我有一个df:

letter    body_part
    a     head
    b     head
    c     NA
    d     NA
    e     left_foot
Run Code Online (Sandbox Code Playgroud)

而且我想把它分成2个dfs ......一个只有body_part - "head"而另一个只有其他东西.即

list < - split(df,df $ body_part =='head')

我可以不丢弃NA行吗?(我知道如果我用字符串填充NA,我可以做到,但有没有办法避免这一步?)

split r dataframe na

1
推荐指数
1
解决办法
284
查看次数

标签 统计

dataframe ×2

na ×2

r ×2

dplyr ×1

if-statement ×1

split ×1