我是R的新手,只有一点Python的背景。
假设我的数据帧 df 中有 2 列是
col1 = c(1,3,4,5,2,6,7)
col2 = c(2,5,1,5,6,5,3)
我想在 df 中添加一个新列,仅包含元素 0 和 1s,如果 col1 中的元素小于 col2 中的元素,则取 1,否则为 0。所以它应该是这样的
col3 = c(1,1,0,0,1,0,0)
我认为有一种方法可以在一行中做到这一点,
df$col3 <- c(...)
但我不知道如何填写(...任何帮助将不胜感激。
您可以简单地比较向量本身:
df <- data.frame(c1 = col1, c2 = col2)
df$c3 <- as.integer(df$c1 < df$c2)
df
c1 c2 c3
1 1 2 1
2 3 5 1
3 4 1 0
4 5 5 0
5 2 6 1
6 6 5 0
7 7 3 0