0
我正在尝试基于已经存在的数据帧创建子数据帧。我的子数据框正在填充行数而不是行本身。使用grep获取数据帧的行,而不是行号
rates = read.csv("file.txt")
genes = unique(gsub('_[0-9]+', '', rates[,1]))
for (k in unique(gsub('_[0-9]+', '', rates[,1]))){
sub = print(grep(k, rates[,1]), value=T)
sub
}
file.txt的
clothing,freq,temp
coat_1,0.3,10
coat_1,0.9,0
coat_1,0.1,20
coat_2,0.5,20
coat_2,0.3,15
coat_2,0.1,5
scarf,0.4,30
scarf,0.2,20
scarf,0.1,10
这是目前输出
[1] 1 2 3 4 5 6
[1] 7 8 9
,我想这样的事情,而不是
clothing freq temp
1 coat_1 0.3 10
2 coat_1 0.9 0
3 coat_1 0.1 20
4 coat_2 0.5 20
5 coat_2 0.3 15
6 coat_2 0.1 5
clothing freq temp
1 scarf 0.4 30
2 scarf 0.2 20
3 scarf 0.1 10
你可以做'拆分(费率,费率$衣服==“围巾”)' –
试试这个,而不是在循环中:'sub = print(rates [grep(k,rates [,1]),])' – Dave2e
谢谢@ Dave2e,它做到了 – Jacob