首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >遍历像DF$j这样的列名

遍历像DF$j这样的列名
EN

Stack Overflow用户
提问于 2016-09-07 05:14:33
回答 1查看 518关注 0票数 1

我有以下数据框架:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    ID  A1  A2  A3    A4     B1      B2      B3      B4   
1  ID1   1   2   1     1      1       1       2       2
2  ID2   2   2   1     1      2      NA       2       1
3  ID3   2   2   1     2      1       1      NA       2          
4  ID4   1   1   1     1      1      NA      NA       2         
5  ID5   2   2   1     1     NA      NA       2      NA       
6  ID6   1   1   1     1      2       2       2       2   

我想从满足每个A和B组合的特定条件的数据帧中提取行,这些是条件:

  • PP: A型柱中的值2+B型柱中的值2
  • PA: A型柱中的值2+B型柱中的值1
  • AP: A型列中的值1+B型列中的值2
  • AA: A型列中的值1+B型列中的值1

我就是这么写的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
A <- colnames(dataframe)[2:5]
# A = A1, A2, A3 and A4
B <- colnames(dataframe)[6:9] 
# B = B1, B2, B3 and B4

for (a in A) {  
   for (b in B) {
         PP <- dataframe[dataframe$a=='2' & dataframe$b=='2' , ]
         PA <- dataframe[dataframe$a=='2' & dataframe$b=='1' , ]
         AP <- dataframe[dataframe$a=='1' & dataframe$b=='2' , ]
         AA <- dataframe[dataframe$a=='1' & dataframe$b=='1' , ]
        print(head(PP)) #to have a preview
    }
 }

然而,新的数据帧是空的,我不明白为什么。理想情况下,第一个for循环(使用a=A1和b=B1)将输出:

PP:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
     ID  A1  A2  A3  A4  B1  B2  B3  B4
 2  ID2   2   2   1   1   2  NA   2   1

爸:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    ID  A1  A2  A3  A4  B1  B2  B3  B4
3  ID3   2   2   1   2   1   1  NA   2  

美联社:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    ID  A1  A2  A3  A4  B1  B2  B3  B4
6  ID6   1   1   1   1   2   2   2   2   

AA:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    ID  A1  A2  A3  A4  B1  B2  B3  B4
1  ID1   1   2   1   1   1   1   2   2

我希望有人能帮忙。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-07 05:33:47

美元符号提取带来了一个问题。它不是用来传递变量的,就像在dataframe$a中那样。因为a不是真正的名称。您正在尝试将变量名传递给它。但是,该运算符将查找文字a列,而不会找到它。试试dataframe[,a]

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39370930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文