小编Aru*_*run的帖子

为什么不能在R中的数据帧中排序一个因子?

我有一个数据框(名为'mdf'),其中包含两列.基本信息如下:

> head(mdf); tail(mdf)
  Country Rank
1     ABW  161
2     AFG  105
3     AGO   60
4     ALB  125
5     ARE   32
6     ARG   26
    Country Rank
184     WSM  181
185     YEM   90
186     ZAF   28
187     ZAR  112
188     ZMB  104
189     ZWE  134
> str(mdf)
'data.frame':   189 obs. of  2 variables:
 $ Country: Factor w/ 229 levels "","ABW","ADO",..: 2 4 5 6 7 8 9 11 12 13 ...
 $ Rank   : Factor w/ 195 levels "",".. Not available. …
Run Code Online (Sandbox Code Playgroud)

r dataframe

1
推荐指数
1
解决办法
974
查看次数

匹配并计算R中的数据矩阵

数据集如下所示:

 Gene SampleName
gene1    sample1
gene1    sample2
gene1    sample3
gene2    sample2
gene2    sample3
gene2    sample4
gene3    sample1
gene3    sample5
Run Code Online (Sandbox Code Playgroud)

我的目标是创建一个这样的数据矩阵:

       gene1 gene2 gene3
gene1      -     2     1
gene2      -     -     0
gene3      -     -     -
Run Code Online (Sandbox Code Playgroud)

gene1vs gene22因为他们共享相同的样本sample2sample3.gene1vs gene3是1,因为他们只共享一个相同的样本 - sample1.

我的问题是如何在R或Perl中实现这一目标?实际数据集要大得多.我非常感谢你的帮助.


这是dput(df)R 的输出:

df <- structure(list(Gene = c("gene1", "gene1", "gene1", "gene2", "gene2", 
"gene2", "gene3", "gene3"), SampleName = c("sample1", "sample2", 
"sample3", "sample2", "sample3", "sample4", "sample1", "sample5"
)), …
Run Code Online (Sandbox Code Playgroud)

perl r count match

1
推荐指数
1
解决办法
115
查看次数

在R中使用'fastmatch'包

我必须在大约10MM值的向量内找到1MM数值的索引.我找到了包fastmatch,但是当我使用该函数时fmatch(),我只返回第一个匹配的索引.

有人可以帮我使用这个功能找到所有的值,而不仅仅是第一个?我意识到这是一个基本问题,但在线文档非常稀疏,并且fmatch大大减少了计算时间.

非常感谢!


以下是一些示例数据 - 为了本练习的目的,让我们调用此数据框A:

              DateTime     Address       Type     ID
1  2014-03-04 20:21:03   982076970          1  2752394
2  2014-03-04 20:21:07 98174238211          1  2752394
3  2014-03-04 20:21:08 76126162197          1  2752394
4  2014-03-04 20:21:16  6718053253          1  2752394
5  2014-03-04 20:21:17 98210219176          1  2752510
6  2014-03-04 20:21:20  7622877100          1  2752510
7  2014-03-04 20:21:23  2425126157          1  2752510
8  2014-03-04 20:21:23  2425126157          1  2752510
9  2014-03-04 20:21:25   701838650          1  2752394
10 2014-03-04 20:21:27 98210219176          1  2752394
Run Code Online (Sandbox Code Playgroud)

我想要做的是找到Type每个的唯一值的数量Address …

r matching

1
推荐指数
1
解决办法
1720
查看次数

R根据其参考列将特定列从一个数据帧合并到另一数据帧

我是初学者R用户。我有两个巨大的数据框,我想在hkdata.2处添加一个名为Vaccine的新列,该数据是根据hkdata.2的2个参考列(hhID和成员)从另一个DF遵从性获取的,有人可以帮我吗?

hkdata.2
hhID    member  T0  delta   X_hh    X_fm    ILI age
1          1    7      0    0       0        0  44
1          2    7      0    0       0        0  36
2          1    8      0    1       0        0  39
2          2    8      0    1       0        0  39

adherence
hhID member mask soap vaccine
1      0      1    0    1   
1      1      1    1    1
1      2      0    0    1
2      0      1    0    0
2      1      0    0    0
2      2      1    0    1
Run Code Online (Sandbox Code Playgroud)

所以最后我可以得到这样的东西。在hkdata.2中增加了一个称为疫苗的列

hkdata.2 …
Run Code Online (Sandbox Code Playgroud)

merge r dataframe

1
推荐指数
1
解决办法
6055
查看次数

使用data.table根据使用r的条件对事件进行分组

我想基于某些标准使用R对数据进行分组.基本上我有一个事件列表,我希望根据相邻行中看到的特定活动模式进行划分.

No.      ID        DATE_EVENT   TIME_EVENT    EVENT   CODE
102995   018159871 07/08/2014   09:01:57      9008    1111
20398    018159871 07/08/2014   09:01:58      1000    1402
105541   018159871 07/08/2014   09:01:58      9210    1111
63492    018253609 07/08/2014   09:54:26      9008    905
37552    018253609 07/08/2014   09:54:45      9008    1111
9627     018253609 07/08/2014   09:54:48      9210    1111
112700   018253609 07/08/2014   09:54:48      1000    1402
50555    018253609 07/08/2014   09:55:56      1000    1401
63634    018253609 07/08/2014   09:55:56      9210    1111 
34551    018330948 07/08/2014   09:21:51      9008    905
47252    018330948 07/08/2014   09:22:15      9008    1111
3975     018330948 07/08/2014   09:22:17      1000    1402
24196 …
Run Code Online (Sandbox Code Playgroud)

grouping if-statement r data.table

1
推荐指数
1
解决办法
192
查看次数

R选择在特定日期之前发生的数据

所以我有两个看起来像这样的数据集(表):

数据集A:

Email   Date    Action
aaaa    1/5/14  won
bbbb    2/10/14 won
cccc    1/14/14 won
dddd    3/3/14  won
eeee    4/19/14 won
Run Code Online (Sandbox Code Playgroud)

数据集B:

Email   Date    Action
aaaa    1/5/14  won
aaaa    1/6/14  call
aaaa    1/9/14  email
aaaa    1/20/14 email
bbbb    2/8/14  email
bbbb    2/9/14  email
bbbb    2/10/14 won
bbbb    2/11/14 callback
bbbb    2/12/14 email
bbbb    2/13/14 won
cccc    1/14/14 won
cccc    1/16/14 call
dddd    2/3/14  email
dddd    3/3/14  won
eeee    4/19/14 won
eeee    4/21/14 call
Run Code Online (Sandbox Code Playgroud)

我希望它看起来像这样:

Email   Date    Action
bbbb    2/8/14  email
bbbb …
Run Code Online (Sandbox Code Playgroud)

r

1
推荐指数
1
解决办法
472
查看次数

重复3位字符序列的行值 - 整洁的数据

给出以下数据框:

df <- data.frame(start = c("005", "010", "014"),
                   end = c("005", "013", "017"),
                  zone = c(3, 5, 7))
# df
#   start end zone
# 1   005 005    3
# 2   010 013    5
# 3   014 017    7
Run Code Online (Sandbox Code Playgroud)

我想生成以下结果:

#   key zone
# 1 005    3
# 2 010    5
# 3 011    5
# 4 012    5
# 5 013    5
# 6 014    7
# 7 015    7
# 8 016    7
# 9 017    7
Run Code Online (Sandbox Code Playgroud)

我想我可以利用一些东西 …

r dplyr tidyr data-munging

1
推荐指数
1
解决办法
149
查看次数

区别不符合预期

我正在使用distinct我的query,但它仍然给我重复的肠道id.我究竟做错了什么?这是我的代码:

SELECT distinct(sd_did),sd_uid,sd_time 
FROM shared_deals 
WHERE sd_uid = '".$uid."' 
ORDER BY sd_time DESC";
Run Code Online (Sandbox Code Playgroud)

mysql distinct

0
推荐指数
1
解决办法
102
查看次数

将列拆分为R中的字符和数字

我将数据框拆分为XY.X有一栏,Y有一个100.

x <- subset(tbl, , select = ordernum)
y <- subset(tbl, select = -c(ordernum, paid1num, 
          weight, returnnum, order_only, multi_dep, sequence_id))
Run Code Online (Sandbox Code Playgroud)

下一个I相关X每一列Y产生一个frame100 columnsa single row.

corr <- cor(x,y)
Run Code Online (Sandbox Code Playgroud)

接下来我换位,

corr.t <- t(corr)
Run Code Online (Sandbox Code Playgroud)

并且(截断的)结果如下所示:

                                   ordernum
HH_AFFORD_MOMS_BUY_GREEN      -0.0021281583
HH_AFFORD_SPORTS              -0.0047221159
HH_AFFORD_CLASSICAL_MUSIC     -0.0006594956
HH_AFFORD_HOME_DECOR           0.0052106766
Run Code Online (Sandbox Code Playgroud)

我想把这个叫做的单列ordernum分成2列.阿character与变量名字段,以及numeric与所述相关性.

我感谢任何指导.也许如果我使用lm,而不是cor

r

0
推荐指数
1
解决办法
219
查看次数

重塑数据 - 这是tidyr :: spread的操作吗?

我正在尝试重塑数据框,以便列中的每个唯一值都成为二进制列.

我已经提供了如下所示的数据:

df <- data.frame(id = c(1,1,2),
                 value = c(200,200,1000),
                 feature = c("A","B","C"))

print(df)

##id,value,feature
##1,200,A
##1,200,B
##2,1000,C
Run Code Online (Sandbox Code Playgroud)

我正在尝试将其重塑为:

##trying to get here
##id,value,A,B,C
##1,200,1,1,0
##2,1000,0,0,1
Run Code Online (Sandbox Code Playgroud)

spread(df,id,feature) 失败,因为ids重复.

我想重塑数据以便于建模 - 我试图从功能的存在与否来预测价值.

r tidyr

0
推荐指数
1
解决办法
164
查看次数