我有以下数据框架--让我们将其命名为df,并有以下观察:
id type company
1 NA NA
2 NA ADM
3 North Alex
4 South NA
NA North BDA
6 NA CA
我只想保留在“类型”和“公司”栏中没有NA的记录。
id type company
3 North Alex
NA North BDA
我试过:
df_non_na <- df[!is.na(df$company) || !is.na(df$type), ]
但这不起
我希望通过删除任何级别的分组因子的空变量来整理数据。删除完全为空的列是相当容易的,但是似乎没有简单的方法将此选择应用于组。
## Data
site<-c("A","A","A","A","A","B","B","B","B","B")
year<-c("2000","2001","2002","2003","2004","2000
我想根据部分字符串匹配来修改列,我尝试了:
df = data.frame(aa = 1:10, bb = NA, cc = 5)
df %>%
mutate(c = ifelse(is.na(bb), grepl('a', names(.)), cc))
然而,我正在寻找这样的东西:
## if bb is na return values in aa
aa bb cc c
1 1 NA 5 1
2 2 NA 5 2
3 3 NA 5 3
4 4 NA 5 4
5 5 NA 5 5
6 6 NA 5 6
7
我知道在函数中使用lazyeval来引用带有dplyr的列名,但是被卡住了。通常,当创建一个使用dplyr (也引用函数参数中的列名)的函数时,实现这一点的最惯用的方法是什么?谢谢。
library(lazyeval)
## Create data frame
df0 <- data.frame(x=rnorm(100), y=runif(100))
##########################################
## Sample mean; this way works
######################################
我有100,000多个GPS定位点,有35只动物。我删除了'NA‘和'0’全球定位系统的纬度-经度位置,但注意到有一个纬度和经度位置是不正确的,需要删除(在这部分数据中,第4行有-78.6917357 17.5506138作为LAT和LON)。可能还有其他不正确的全球定位系统位置,并想知道是否有一个简单的方法来识别和删除异常值。
我的样本数据如下:
COLLAR NAME Animal_ID SEX DATE TIME Year Month Day Hour LATITUDE LONGITUDE HEIGHT
26 Keith
是否有一种方法可以使用绑定变量动态地将列名和表名传递给查询?这可以通过使用一个简单的级联操作符||来完成,但是我想要一种不同的方法来实现这一点。
编辑
OPEN abc_cur FOR 'Select :column_name
from :table_name'
USING column_name,table_name;
在本例中,我将column_name传递为empno,ename,table_name传递为emp
但这种方法对我没有用。是否有可能与传统的级联方式有不同的方式?
假设我有一个data.frame,它在某些列中有NA值。我只想选择那些具有特定列的行,这些列不是NA,但可能在其所有其他列上都有NA。
因此,从这些数据中选择:
dat <- data.frame(x = c(1, 2, 4, NA, NA),
y = c(2, NA, 3, 5, 4),
z = c(NA, NA, NA, 4, 4),
p = c(NA, 4, NA, 3, 4))
x y z p
1 1 2 NA NA
2 2 NA NA 4
3 4
我有一个名为granular的数据框架,在相关部分中包含:
元素列GranularClass,其值之一为"Constitutional Law I Spring 2016",以及
几个数字列,例如Knowledge。数值列包含NAs。
我试图编写一个函数来计算给定列的非NA值,条件是给定的因子值。但是,我试图计算值的行为是不同的,这取决于我是把它写成函数还是只在控制台中使用它。
更具体地说,以下代码失败:
# take subset of the dataframe containing only the factor values I want to look
我有一个数据集,其中一些十六进制id被检测到我们(上游)和ds (下游)。在我们和ds两个地点都发现了大约500条鱼。我试图子集列hex_id,因此它只返回hex_id、==和hex_id == ds中的行。
hex_id loc det#
3D9.1C2D9B1656 us 1
3D9.1C2D9B1C20 us 2
3D9.1C2D9B1C91 us 1
3D9.1C2D9B2110 ds 1
3D9.1C2D9B2226 ds 1
3D9.1C2D9B2CA7 us 19
3D9.1C2D9B3128 us 2
3D9.1C2D9B376C