Jor*_*ner -1 for-loop r nested-loops
我希望能帮助理解在R中进行某个计算所需的语法.
我有这样的数据帧:
a b c
1 1 0
2 1 1
3 1 0
4 2 0
5 2 0
6 3 1
7 3 0
8 3 0
9 4 0
Run Code Online (Sandbox Code Playgroud)
并且我想创建一个值为1的新列"d",如果(且仅当)列"c"中的任何值对于"b" 列中具有相同值的每组行等于1 . 否则(见第4,5和9行)列"d"给出0.
a b c d
1 1 0 1
2 1 1 1
3 1 0 1
4 2 0 0
5 2 0 0
6 3 1 1
7 3 0 1
8 3 0 1
9 4 0 0
Run Code Online (Sandbox Code Playgroud)
这可以用for循环完成吗?如果是这样,任何关于如何写这个的建议都将非常感激.
运用 data.table
setDT(df)
df[, d := as.integer(any(c == 1L)), b]
Run Code Online (Sandbox Code Playgroud)