为了整理我的数据,我使用了以下功能 -
tolower(gsub("\\.","",names(data)))
Run Code Online (Sandbox Code Playgroud)
从长矢量名称中删除大写和点(.) Last.Inquiry.For.Loan
它工作并回馈:lastinquiryforloan.但它并没有坚持下去.当我跑步时summary(data),我会看到所有旧的矢量名称.如何将此更改永久化,以便我更容易进行分析?
我有一个看起来像这样的数据集
VegType 87MIN 87MAX 87Q25 87Q50 87Q75 96MIN 96MAX 96Q25 96Q50 96Q75 00MIN 00MAX 00Q25 00Q50 00Q75
1 0.02 0.32 0.11 0.12 0.13 0.02 0.26 0.08 0.09 0.10 0.02 0.28 0.10 0.11 0.12
2 0.02 0.45 0.12 0.13 0.13 0.02 0.20 0.09 0.10 0.11 0.02 0.26 0.11 0.12 0.12
3 0.02 0.29 0.13 0.14 0.14 0.02 0.27 0.11 0.11 0.12 0.02 0.26 0.12 0.13 0.13
4 0.02 0.41 0.13 0.13 0.14 0.02 0.58 0.10 0.11 0.12 0.02 0.34 0.12 0.13 …Run Code Online (Sandbox Code Playgroud) 我是R的新手,只是教自己如何使用它.我在Windows 7上使用R版本3.0.1(如果相关的话).
我无法将factors的数据转换为仅字符.我的数据如下:
activity <- c("1","2","10","ZZ")
Run Code Online (Sandbox Code Playgroud)
我想要的是输出
activity <- c("01","02","10","ZZ")
Run Code Online (Sandbox Code Playgroud)
其中,每个字符串,如果只包含一个字符,应该以a 0为前缀(如上所示).
我尝试使用"as.character",但之前没有添加零.然后我发现sprintf并尝试:
activity <- sprintf("%02d", (activity))
# [1] "01" "02" "03" "04"
Run Code Online (Sandbox Code Playgroud)
这会在找到的任何单个数据前面添加零"0",但麻烦的是它会修改所有级别的数据(如上所示).
有谁知道这里有什么问题以及如何解决它?谢谢.
假设我有一个向量x:
x <- c(X1, X2, X3, ..., Xn)
Run Code Online (Sandbox Code Playgroud)
我想编写一个自动获取结果系列的函数:
y <- c(X1, X1*X2, X1*X2*X3, ..., X1*X2*X3*...*Xn)
Run Code Online (Sandbox Code Playgroud)
有人能告诉我如何在R中这样做吗?
我有2个数据帧df1和df2.df1和df2具有相同的大小(行和列)和相同的因子.说:
df1 <- data.frame(a=c('alpha','beta','gamma'), b=c(1,2,3), c=c('x','y','z'), d=c(4,5,6))
a b c d
1 alpha 1 x 4
2 beta 2 y 5
3 gamma 3 z 6
Run Code Online (Sandbox Code Playgroud)
和
df2 <- data.frame(a=c('alpha','beta','gamma'), b=c(7,8,9), c=c('x','y','z'), d=c(10,11,12))
a b c d
1 alpha 7 x 10
2 beta 8 y 11
3 gamma 9 z 12
Run Code Online (Sandbox Code Playgroud)
我想将这两个数据帧相乘并获得像tyhis这样的结果:
a b c d
1 alpha 7 x 40
2 beta 16 y 55
3 gamma 27 z 72
Run Code Online (Sandbox Code Playgroud)
我做了一些搜索并尝试了以下代码:
M <- merge(df1,df2,by=c('a','c'))
S <- M[,grepl("*\\.x$",names(M))] * …Run Code Online (Sandbox Code Playgroud) 我有一个数据框(名为'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) 所以我有两个看起来像这样的数据集(表):
数据集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)