【发布时间】:2020-01-03 16:16:21
【问题描述】:
如下所示,我有两个数据框。
#Dataframe 1
colname value
col1 0.45
col2 -0.2
col3 -0.4
col4 0.1
#Dataframe 2
col1 col2 col3 col4
1 5 9 5
45 29 43 9
34 33 56 3
2 67 76 1
我想要做的是首先选择数据框 1 中值 > 0.3 或值
col1 col3
1 9
45 43
34 56
2 76
我想到的解决方案是首先选择相关列,如下面的代码所示。
library(sqldf)
features = sqldf('select colname from dataframe1 where value > 0.3 or value < -0.3')
在此之后,在 for 循环中构建一个字符串,如下所示。并将其粘贴到 sqldf 查询中以从 dataframe2 中选择正确的列。但是我不知道如何构建这个字符串。你们知道这一点还是有其他解决方案?
stringValue = "col1, col3, col4"
sprintf("SELECT %s FROM dataframe2", stringValue)
【问题讨论】:
-
paste(features, collapse=",")应该可以工作