我有一个数据框(名为'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) 数据集如下所示:
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 gene2是2因为他们共享相同的样本sample2和sample3.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) 我必须在大约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用户。我有两个巨大的数据框,我想在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) 我想基于某些标准使用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) 所以我有两个看起来像这样的数据集(表):
数据集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) 给出以下数据框:
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)
我想我可以利用一些东西 …
我正在使用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) 我将数据框拆分为X和Y.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产生一个frame与100 columns和a 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?
我正在尝试重塑数据框,以便列中的每个唯一值都成为二进制列.
我已经提供了如下所示的数据:
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 ×9
dataframe ×2
tidyr ×2
count ×1
data-munging ×1
data.table ×1
distinct ×1
dplyr ×1
grouping ×1
if-statement ×1
match ×1
matching ×1
merge ×1
mysql ×1
perl ×1