我想从向量中的字符串中删除特定字符,类似于Excel中的" 查找和替换"功能.
以下是我开始的数据:
group <- data.frame(c("12357e", "12575e", "197e18", "e18947")
Run Code Online (Sandbox Code Playgroud)
我从第一栏开始; 我想通过删除e
's 来生成第二列:
group group.no.e
12357e 12357
12575e 12575
197e18 19718
e18947 18947
Run Code Online (Sandbox Code Playgroud) 这是相关的代码:
ggplot.3plus<-ggplot(summary.3plus, aes(x=sp1, y=fract.mean, fill=ForestAge)) +
geom_bar(position=position_dodge())+ coord_cartesian(ylim = c(1, 1.175))+
geom_errorbar(aes(ymin=fract.mean-se, ymax=fract.mean+se),
width=.2, # Width of the error bars
position=position_dodge(.9))
ggplot.3plus<- ggplot.3plus + theme(axis.title.x = element_text(colour = "red"))
Run Code Online (Sandbox Code Playgroud)
您可以看到,使用最后一行代码,我可以更改轴标题的颜色,但不能更改轴LABELS的颜色.
我有一个带有许多缺失值的.csv数据集,并且当我读取表格时,我希望R以同样的方式("正确"方式)识别它们.我一直在使用:
import = read.csv("/Users/dataset.csv",
header =T, na.strings=c(""))
Run Code Online (Sandbox Code Playgroud)
这个脚本用一些东西填充所有空单元格,但它不是一致的.当我查看数据时head(import)
,会填充<NA>
一些丢失的单元格,并填充一些丢失的单元格NA
.我担心R在开始分析数据集时会采用不同的方式来识别缺失值,因此我希望将导入统一读入这些缺失值.
最后,我的csv文件中的一些缺失值仅用句点表示.我还想在导入到R时用正确的缺失值表示法表示这些句点.
我有一个看起来像这样的数据集,其中一列可以有四个不同的值:
dataset <- data.frame(out = c("a","b","c","a","d","b","c","a","d","b","c","a"))
Run Code Online (Sandbox Code Playgroud)
在R中,我想创建第二列,按顺序计算包含特定值的累计行数.因此输出列将如下所示:
out
1
1
1
2
1
2
2
3
2
3
3
4
Run Code Online (Sandbox Code Playgroud) 我有一个看起来像这样的矢量:
dataset <- c(4,7,9,1,10,15,18,19,3,16,10,16,12,22,2,23,16,17)
Run Code Online (Sandbox Code Playgroud)
我想创建四个虚拟类别,其中我通过自定义中断来连接连续数据集...例如:1:4,5:9,10:17,18:23.
输出虚拟类别的长度与原始连续向量的长度相同(在这种情况下为18),但现在每个分箱的虚拟变量只包含1或0.
我想使用 R 在我的数据集中创建一个新列,其中包含每个唯一组的最大值。我的数据如下所示:
group<-c("A","A","A","A","A","B","B","C","C","C")
replicate<-c(1,2,3,4,5,1,2,1,2,3)
x<-data.frame(cbind(group,replicate))
Run Code Online (Sandbox Code Playgroud)
我想创建如下所示的第三列 - 每组的最大值。
group replicate max.per.group
A 1 5
A 2 5
A 3 5
A 4 5
A 5 5
B 1 2
B 2 2
C 1 3
C 2 3
C 3 3
Run Code Online (Sandbox Code Playgroud) 我有一个数据集,我想用它来比较物种和栖息地对家园大小的影响 - 同时使用 III 型错误和物种和栖息地内的成对比较。
这是数据的一个子集:
species<- c("a","b","c","c","b","c","b","b","a","b","c","c","a","a","b","b","a","a","b","c")
habitat<- c("x","x","x","y","y","y","x","x","y","z","y","y","z","z","x","x","y","y","z","z")
homerange<-c(6,5,7,8,9,4,3,5,6,9,3,6,6,7,8,9,5,6,7,8)
data1<-data.frame(cbind(species, habitat, homerange))
data1$homerange<-as.numeric(as.character(data1$homerange))
Run Code Online (Sandbox Code Playgroud)
目前我正在拆分三个物种的数据,然后为每个物种运行单独的方差分析,但我相信使用一个方差分析同时询问物种和栖息地更有意义。这是我为一个物种运行的方差分析的示例:
data.species.a<-subset(data1, species=="a")
fit<-aov(homerange ~ habitat, data=data.species.a)
summary(fit)
TukeyHSD(fit)
Run Code Online (Sandbox Code Playgroud)
aov() 似乎使用 I 型错误。. . 我认为不合适;加上我相信 Tukey 的测试对于成对比较来说可能过于保守。有人可以帮助我采用一种方法来运行一个方差分析,该方差分析同时考虑物种和栖息地对家园的影响,带有 III 型错误,这也允许对物种和栖息地进行不太保守的成对比较吗?
我在ggplot2中有一个简单的条形图.我正在使用我的酒吧的"灰色"刻度; 默认顺序从左到右最暗到最轻.这是我的代码的样子:
ggplot.3plus<-ggplot(summary.3plus, aes(x=sp1, y=fract.mean, fill=age.cat)) +
geom_bar(position=position_dodge())+ coord_cartesian(ylim = c(1, 1.175))+
geom_errorbar(aes(ymin=fract.mean-se, ymax=fract.mean+se),
width=.2, # Width of the error bars
position=position_dodge(.9))
ggplot.3plus<-ggplot.3plus+scale_fill_grey()
Run Code Online (Sandbox Code Playgroud)
我想将灰色的颜色顺序从左到右改为最亮到最暗,同时保持条纹本身的顺序相同.我用来反转颜色渐变顺序的代码似乎不起作用.
我正在使用R Studio,并注意到代码窗口和控制台之间有一个小橙色#,它列出了您正在使用的代码中的副标题.如何为字幕指明标签?是吗
#subtitle#
Run Code Online (Sandbox Code Playgroud)
要么
#subtitle
Run Code Online (Sandbox Code Playgroud)
或者是什么?这些似乎都没有.
可能的重复:
在 R 中的子集数据框中删除因子级别
我有一个包含多个变量的数据框,我正在使用它运行混合模型lme()
。其中一个变量 ForAgeCat 有五个因子水平:1、2、3、4、5。
str(mvthab.3hr.fc$ForAgeCat)
>Factor w/ 5 levels "1","2","3","4",..: 5 5 5 5 5 5 5 5 5 5 ...
Run Code Online (Sandbox Code Playgroud)
问题是因子级别 3 实际上不存在,也就是说,在这个数据集(这是一个较大数据集的子集)中没有来自因子级别 3 的观察结果,我认为这扰乱了我在 lme() 中的建模。有人可以帮我从因子级别列表中删除/消除因子级别 3 吗?
我有一个基于非重叠面的多边形shapefile (.shp)
,具有较大的空间范围和许多关联的属性。shapefile投影在UTM中。我想将多边形转换为在30-m
分辨率网格中间隔开的点,其中每个点将保留其位于其中的多边形的属性。
输出将只是要点表:
X, Y, attribute1, attribute2, attribute 3,etc...
Run Code Online (Sandbox Code Playgroud)
理想情况下,我想在R或(较不理想)我可以在Mac上运行的其他一些免费程序中执行此操作。
我正在进行一项行为研究,我想看看一个物种在三个时期内是否显示出与预期显着不同的反应.有47个独立的物种观测,每个观测有三个时期,总观测时间为8.6分钟.第一期为3分钟,第二期为0.6分钟,第三期为5分钟.在每个时期,动物可以积极或消极地作出反应.在第一阶段,有两个阳性反应(47个观察结果中; 45个阴性),在第二个时期,47个反应中有13个是阳性,而在第三个时期,47个反应中有14个是阳性.
因此,我试图运行一个chisquare测试,我调整零假设中的概率来纠正周期之间的时间差异,但我认为我没有正确地做到这一点.
data<-c(2,13,14)
null.probs<-c(3/8.6, 0.6/8.6, 5/8.6)
chi<-chisq.test(data, p=null.probs)
Run Code Online (Sandbox Code Playgroud)
我相当肯定在这种情况下我对这些期望值的零假设是不正确的,但我不确定如何正确调整它.
我有一个看起来像这样的数据集,只不过它更长并且具有更多值:
dataset <- data.frame(grps = c("a","b","c","a","d","b","c","a","d","b","c","a"), response = c(1,4,2,6,4,7,8,9,4,5,0,3))
Run Code Online (Sandbox Code Playgroud)
在 R 中,我想使用要删除的值向量删除包含值“b”或“c”的所有行,即
remove<-c("b","c")
Run Code Online (Sandbox Code Playgroud)
实际数据集很长,需要删除数百个值,因此逐一删除值将非常耗时。