来自help("NA"):
还存在支持缺失值的其他原子向量类型的常量NA_integer_,NA_real_,NA_complex_和NA_character_:所有这些都是R语言中的保留字.
我的问题是为什么没有NA_logical_或类似,以及如何处理它.
具体来说,我正在创建几个非常相似data.table的大型s,它们应该是类兼容的,以便以后使用rbind.当其中一个data.tables缺少变量时,我正在创建该列,但将其设置为NA特定类型的所有s.但是,对于合乎逻辑的我不能那样做.
在这种情况下,它可能并不重要(data.table不喜欢将列从一种类型强制转换为另一种类型,但它也不喜欢添加行,所以我必须创建一个新表来保存rbound版本),但我很困惑至于为什么NA_logical_逻辑上应该存在的,不是.
例:
library(data.table)
Y <- data.table( a=NA_character_, b=rep(NA_integer_,5) )
Y[ 3, b:=FALSE ]
Y[ 2, a:="zebra" ]
> Y
a b
1: NA NA
2: zebra NA
3: NA 0
4: NA NA
5: NA NA
> class(Y$b)
[1] "integer"
Run Code Online (Sandbox Code Playgroud)
两个问题:
NA_logical_存在,当它的亲戚呢?data.table尽可能避免胁迫的情况下做些什么呢?我假设使用NA_integer_在强制方面买了一点(它会强制我加入0L/1L的逻辑,这不是很糟糕,但并不理想.我正在尝试基于两列创建新列.假设我想创建一个新的列z,它应该是y的值,当它没有丢失时,并且当y确实缺失时是x的值.所以在这种情况下,我希望z是[1, 8, 10, 8].
x y
0 1 NaN
1 2 8
2 4 10
3 8 NaN
Run Code Online (Sandbox Code Playgroud) 我有以下类型的数据帧:
Country <- rep(c("USA", "AUS", "GRC"),2)
Year <- 2001:2006
Level <- c("rich","middle","poor",rep(NA,3))
df <- data.frame(Country, Year,Level)
df
Country Year Level
1 USA 2001 rich
2 AUS 2002 middle
3 GRC 2003 poor
4 USA 2004 <NA>
5 AUS 2005 <NA>
6 GRC 2006 <NA>
Run Code Online (Sandbox Code Playgroud)
我想用右列中的最后一个用正确的级别标签填充缺失的值.
所以预期的结果应该是这样的:
Country Year Level
1 USA 2001 rich
2 AUS 2002 middle
3 GRC 2003 poor
4 USA 2004 rich
5 AUS 2005 middle
6 GRC 2006 poor
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Haskell进行数据分析.因为我的数据集相当大(数十万甚至数百万的观测值),所以我最好使用未装箱的数据结构来提高效率,比如Data.Vector.Unboxed.
问题是数据包含一些缺失值.我想避免将它们编码为"99"或类似,因为这只是一个丑陋的黑客和潜在的错误来源.从我的Haskell新手的角度来看,我可以想到以下选项:
Maybe值的盒装矢量.有点像(请纠正错误):data myMaybe a = Nothing | Just {-# UNPACK #-} !anewtype instance Data.Vector.Unboxed.Vector (MyDatum a) = MyDatum (Data.Vector.Unboxed.Vector (Bool,a))Int为Bool),但唯一的答案似乎没有明确解决丢失的问题值/稀疏性(而是关注如何表示整个数组未装箱,而不是作为未装箱矢量的盒装矢量).我试图保持在矢量表示而不是像这样的东西,因为它是稀疏的缺失值,而不是数据.
任何关于这些选项的相对优点/可行性/现成可用性/可能性能的评论,或者确实指向完全不同的替代品,都是受欢迎的!
编辑:
我在哪里可以获得Flexslider2的方向导航指针的图像文件:bg_direction_nav.png?
无法弄清楚为什么我不断收到像'Fl'或'Fi'这样的奇怪文字来取代滑块上的箭头.
检查所有内容,我发现下载包中缺少背景图像和指向它的CSS!
丢失的图像可能是我缺失的链接,我可以调整CSS吗?有人可以帮忙吗?
我有一个带有月度数据的熊猫数据框,我想计算12个月的移动平均值.但是,(NaN)缺少1月份每个月的数据,所以我正在使用
pd.rolling_mean(data["variable"]), 12, center=True)
Run Code Online (Sandbox Code Playgroud)
但它只是给了我所有的NaN值.
有一种简单的方法可以忽略NaN值吗?据我所知,在实践中,这将成为11个月的移动平均线.
数据框还有其他具有1月数据的变量,所以我不想抛弃1月份的列并做11个月的移动平均线.
我有一个完整的数据框架.我希望数据帧中20%的值被NA替换,以模拟随机丢失的数据.
A <- c(1:10)
B <- c(11:20)
C <- c(21:30)
df<- data.frame(A,B,C)
Run Code Online (Sandbox Code Playgroud)
任何人都可以建议一个快速的方法吗?
我想用颜色编码在单个图上表示数据框(或矩阵,或data.table等)的结构.我想这对于处理各种类型数据的许多人来说非常有用,可以一目了然地将其可视化.
也许有人已经开发了一个包来做它,但我找不到一个(只是这个).所以这里是我的"愿景"的粗略模型,一种热图,用颜色代码显示:

到目前为止,我刚刚编写了一个函数来绘制NA位置,如下所示:
ggSTR = function(data, alpha=0.5){
require(ggplot2)
DF <- data
if (!is.matrix(data)) DF <- as.matrix(DF)
to.plot <- cbind.data.frame('y'=rep(1:nrow(DF), each=ncol(DF)),
'x'=as.logical(t(is.na(DF)))*rep(1:ncol(DF), nrow(DF)))
size <- 20 / log( prod(dim(DF)) ) # size of point depend on size of table
g <- ggplot(data=to.plot) + aes(x,y) +
geom_point(size=size, color="red", alpha=alpha) +
scale_y_reverse() + xlim(1,ncol(DF)) +
ggtitle("location of NAs in the data frame")
pc <- round(sum(is.na(DF))/prod(dim(DF))*100, 2) # % NA
print(paste("percentage of NA data: ", pc))
return(g)
} …Run Code Online (Sandbox Code Playgroud) 基础R中是否有任何包含缺失值的数据集示例?我一直在查看每一个,并且到目前为止还使用google搜索.
library(MASS)
data()
Run Code Online (Sandbox Code Playgroud)
编辑:我知道如何在R中的数据集中添加缺失值,我只想知道是否存在任何此类数据集.
我想对丢失的数据进行滚动计算.
示例代码:( 为了简单起见,我给出了滚动总和的示例,但我想做一些更通用的事情.)
foo = lambda z: z[pandas.notnull(z)].sum()
x = np.arange(10, dtype="float")
x[6] = np.NaN
x2 = pandas.Series(x)
pandas.rolling_apply(x2, 3, foo)
Run Code Online (Sandbox Code Playgroud)
产生:
0 NaN
1 NaN
2 3
3 6
4 9
5 12
6 NaN
7 NaN
8 NaN
9 24
Run Code Online (Sandbox Code Playgroud)
我认为在"滚动"期间,计算中忽略了缺少数据的窗口.我希望得到一个结果:
0 NaN
1 NaN
2 3
3 6
4 9
5 12
6 9
7 12
8 15
9 24
Run Code Online (Sandbox Code Playgroud)