【发布时间】:2018-12-01 15:08:43
【问题描述】:
我有一些数据:
df = data.frame(matrix(rnorm(20), nrow=10))
X1 X2
1 1.17596402 0.06138821
2 -1.76439330 1.03674803
3 -0.39069424 0.61616793
4 0.68375346 0.27435354
5 0.27426476 -1.71226109
6 -0.06153577 1.14514453
7 -0.37067621 -0.61243104
8 1.11107852 0.47788971
9 -1.73036658 0.31545148
10 -1.83155718 -0.14433432
我想为列表中的每个元素添加新变量,这些变量会发生变化:
list = c("a","b","c")
结果应该是:
X1 X2 a b c
1 1.17596402 0.06138821 NA NA NA
2 -1.76439330 1.03674803 NA NA NA
3 -0.39069424 0.61616793 NA NA NA
4 0.68375346 0.27435354 NA NA NA
5 0.27426476 -1.71226109 NA NA NA
6 -0.06153577 1.14514453 NA NA NA
7 -0.37067621 -0.61243104 NA NA NA
8 1.11107852 0.47788971 NA NA NA
9 -1.73036658 0.31545148 NA NA NA
10 -1.83155718 -0.14433432 NA NA NA
我可以使用以下建议来做到这一点:
df[list] <- NA
但是现在,我想在每一行中搜索变量名称作为值,并标记它是否包含该值。例如:
X1 X2 a b c
1 a b 1 1 0
2 a c 1 0 1
因此代码将在所有列中搜索“a”,并标记是否有任何列包含“a”。我该怎么做?
【问题讨论】:
-
但现在,我想在每一行中搜索变量名作为值,并标记它是否包含该值。 这是一个完全不同的问题。你应该问一个单独的问题,并附上这个问题的链接。我会投票决定关闭。
标签: r