我刚刚开始使用R,我不知道如何将我的数据集与以下示例代码合并:
sample(x, size, replace = FALSE, prob = NULL)
Run Code Online (Sandbox Code Playgroud)
我有一个数据集,我需要进行培训(75%)和测试(25%)设置.我不确定我应该把什么信息放入x和大小?x是数据集文件,并确定了我有多少个样本?
使用与此类似的数据框:
set.seed(100)
df <- data.frame(cat = c(rep("aaa", 5), rep("bbb", 5), rep("ccc", 5)), val = runif(15))
df <- df[order(df$cat, df$val), ]
df
cat val
1 aaa 0.05638315
2 aaa 0.25767250
3 aaa 0.30776611
4 aaa 0.46854928
5 aaa 0.55232243
6 bbb 0.17026205
7 bbb 0.37032054
8 bbb 0.48377074
9 bbb 0.54655860
10 bbb 0.81240262
11 ccc 0.28035384
12 ccc 0.39848790
13 ccc 0.62499648
14 ccc 0.76255108
15 ccc 0.88216552
Run Code Online (Sandbox Code Playgroud)
我想在每个组中添加一个带编号的列.这样做显然不是使用R的权力:
df$num <- 1
for (i in 2:(length(df[,1]))) {
if (df[i,"cat"]==df[(i-1),"cat"]) { …
Run Code Online (Sandbox Code Playgroud) 我已经将CSV
文件读入R data.frame.某些行在其中一列中具有相同的元素.我想删除该列中重复的行.例如:
platform_external_dbus 202 16 google 1
platform_external_dbus 202 16 space-ghost.verbum 1
platform_external_dbus 202 16 localhost 1
platform_external_dbus 202 16 users.sourceforge 8
platform_external_dbus 202 16 hughsie 1
Run Code Online (Sandbox Code Playgroud)
我只想要其中一行,因为其他行在第一列中具有相同的数据.
比方说我有:
v = rep(c(1,2, 2, 2), 25)
Run Code Online (Sandbox Code Playgroud)
现在,我想计算每个唯一值出现的次数.unique(v)
返回唯一值的内容,但不返回它们的数量.
> unique(v)
[1] 1 2
Run Code Online (Sandbox Code Playgroud)
我想要一些能给我的东西
length(v[v==1])
[1] 25
length(v[v==2])
[1] 75
Run Code Online (Sandbox Code Playgroud)
但作为一个更一般的单线:)有点接近(但不完全)像这样:
#<doesn't work right> length(v[v==unique(v)])
Run Code Online (Sandbox Code Playgroud) 在R中有一个矩阵:
one two three four
[1,] 1 6 11 16
[2,] 2 7 12 17
[3,] 3 8 11 18
[4,] 4 9 11 19
[5,] 5 10 15 20
Run Code Online (Sandbox Code Playgroud)
我想提取其行有第三列= 11的子矩阵.这是:
one two three four
[1,] 1 6 11 16
[3,] 3 8 11 18
[4,] 4 9 11 19
Run Code Online (Sandbox Code Playgroud)
我想在没有循环的情况下这样做.我是R的新手,所以这可能非常明显,但文档往往有些简洁.
数据链接:使用 的数据
我的代码:
ccfsisims <- read.csv(file = "F:/Purdue University/RA_Position/PhD_ResearchandDissert/PhD_Draft/GTAP-CGE/GTAP_NewAggDatabase/NewFiles/GTAP_ConsIndex.csv", header=TRUE, sep=",", na.string="NA", dec=".", strip.white=TRUE)
ccfsirsts <- as.data.frame(ccfsisims)
ccfsirsts[6:24] <- sapply(ccfsirsts[6:24],as.numeric)
ccfsirsts <- droplevels(ccfsirsts)
ccfsirsts <- transform(ccfsirsts,sres=factor(sres,levels=unique(sres)))
library(ggplot2)
#------------------------------------------------------------------------------------------
#### Plot of food security index for Morocco and Turkey by sector
#------------------------------------------------------------------------------------------
#_Code_Begin...
datamortur <- melt(ccfsirsts[ccfsirsts$region %in% c("TUR","MAR"), ]) # Selecting regions of interest
datamortur1 <- datamortur[datamortur$variable %in% c("pFSI2"), ] # Selecting the food security index of interest
datamortur2 <- datamortur1[datamortur1$sector %in% c("wht","gro","VegtFrut","osd","OthCrop","VegtOil","XPrFood"), ] # Selecting food sectors of interest
datamortur3 …
Run Code Online (Sandbox Code Playgroud) 学习如何编写用于R的C代码的最佳资源是什么?我知道R扩展的系统和外语接口部分,但我发现它很难.编写用于R的C代码有哪些好的资源(在线和离线)?
为了澄清,我不想学习如何编写C代码,我想学习如何更好地集成R和C.例如,我如何从C整数向量转换为R整数向量(反之亦然)或者从C标量到R向量?
我正在对均匀分布的时间序列进行绘图和执行计算.时间戳当前存储为整数,表示自UNIX纪元以来的秒数(例如1352068320
),但Date
对象似乎更适合绘图.我该如何进行转换?
我读过?Date
,?as.Date
和??epoch
,但似乎已经错过了的信息.
我正在尝试制作一个条形图,其中情节从miRNA
最高value
到miRNA
最低排序.为什么我的代码不起作用?
> head(corr.m)
miRNA variable value
1 mmu-miR-532-3p pos 7
2 mmu-miR-1983 pos 75
3 mmu-miR-301a-3p pos 70
4 mmu-miR-96-5p pos 5
5 mmu-miR-139-5p pos 10
6 mmu-miR-5097 pos 47
ggplot(corr.m, aes(x=reorder(miRNA, value), y=value, fill=variable)) +
geom_bar(stat="identity")
Run Code Online (Sandbox Code Playgroud) 我有一个数据帧,我想计算每组内的行数.我通常使用该aggregate
函数对数据求和如下:
df2 <- aggregate(x ~ Year + Month, data = df1, sum)
Run Code Online (Sandbox Code Playgroud)
现在,我想计算观察结果,但似乎无法找到适当的论据FUN
.直觉上,我认为它会如下:
df2 <- aggregate(x ~ Year + Month, data = df1, count)
Run Code Online (Sandbox Code Playgroud)
但是,没有这样的运气.
有任何想法吗?
一些玩具数据:
set.seed(2)
df1 <- data.frame(x = 1:20,
Year = sample(2012:2014, 20, replace = TRUE),
Month = sample(month.abb[1:3], 20, replace = TRUE))
Run Code Online (Sandbox Code Playgroud)