我有一个这样的清单:
list_1 = [np.NaN, np.NaN, 1, np.NaN, np.NaN, np.NaN, 0, np.NaN, 1, np.NaN, 0, 1, np.NaN, 0, np.NaN, 1, np.NaN]
Run Code Online (Sandbox Code Playgroud)
所以有以 开头1
和结尾的间隔0
。我怎样才能替换这些间隔中的值,比如用 1?结果将如下所示:
list_2 = [np.NaN, np.NaN, 1, 1, 1, 1, 0, np.NaN, 1, 1, 0, 1, 1, 0, np.NaN, 1, np.NaN]
Run Code Online (Sandbox Code Playgroud)
我NaN
在这个例子中使用,但可以适用于任何值的通用解决方案也很棒
我正在学习R,只是把它安装在我的办公室电脑上.我在计算机上没有管理员权限(因为我甚至不得不打电话给IT进行安装).
然后我安装了一个包.首先,它在键入时不起作用,例如:
install.packages("thepackage")
Run Code Online (Sandbox Code Playgroud)
错误消息是这样的:
Error in normalizePath(path.expand(path), winslash, mustWork) :
path[1]="\\company\5050\Users\myusername\Documents\R\win-library\3.3": Access is denied
In addition: Warning message:
In normalizePath(path.expand(path), winslash, mustWork) :
path[1]="\\company/5050/Users/myusername/Documents/R/win-library/3.3": Access is denied
Run Code Online (Sandbox Code Playgroud)
我做了一些功课,发现一个潜在的解决方案是"将网络驱动器映射到您的网络文件夹".我不确定这意味着什么,但我试试这个:
install.packages("thepackage",lib="H:/Documents/R/win-library/3.3")
Run Code Online (Sandbox Code Playgroud)
因为看起来我有更多"控制"H驱动器(它有我的用户名).它有效:
package ‘thepackage’ successfully unpacked and MD5 sums checked
The downloaded binary packages are in
C:\Users\myusername\AppData\Local\Temp\Rtmp4MNURu\downloaded_packages
Run Code Online (Sandbox Code Playgroud)
然后我无法加载包,
library(thepackage)
Run Code Online (Sandbox Code Playgroud)
他说:
Error in normalizePath(path.expand(path), winslash, mustWork) :
path[1]="\\company/5050/Users/myusername/Documents/R/win-library/3.3": Access is denied
Run Code Online (Sandbox Code Playgroud)
但这又有效:
library(thepackage,lib="H:/Documents/R/win-library/3.3")
Run Code Online (Sandbox Code Playgroud)
那么如何将normalizePath设置为一个有效的方法来避免额外的而且不必要的库目录规范呢?
我有一个这样的清单:
list_1 = [0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1]
Run Code Online (Sandbox Code Playgroud)
如何计算此列表中1
和的值块的大小0
?结果列表将如下所示:
list_2 = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 1, 1]
Run Code Online (Sandbox Code Playgroud) 在数据集中,有10个变量V1,V2,...,V10.
如何选择任何这些变量的值大于或等于10的情况?
我尝试了这个,但它不起作用:
temporary.
select if any(v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, ge 10).
list id.
Run Code Online (Sandbox Code Playgroud)
这和其他几个也不起作用:
select if ((v1, v2, v3, v4, v5, v6, v7, v8, v9, v10) ge 10).
Run Code Online (Sandbox Code Playgroud) 我指定一个函数来绘制这样的图表:
func.plot <- function(z){
df %>%
ggplot(aes(z)) +
geom_histogram(aes(y =..density..),
binwidth = 0.004,
col="red",
fill="green",
alpha=.2) +
geom_density(col=2) +
labs(title="title", x="z", y="vertical axis")
}
Run Code Online (Sandbox Code Playgroud)
目的是为数据集中的一些变量生成直方图,因此在这个函数中我还想使用变量名称作为轴的标题,x
以便使图区分开来。但是,当使用变量调用函数时,例如func.plot(var)
会出现错误:
不知道如何自动选择 tbl_ts/tbl_df/tbl/data.frame 类型的对象的比例。默认为连续。
错误:美学必须是长度 1 或与数据 (883) 相同:x
我有几个问题:
对于这个特定的功能,如何修复它?
更一般地说,有时我想编写引用引号中的参数的函数,例如上面的 x 标题。另一个简单的例子是读取或写入数据,如下所示:
func.write <- function(x){
write.csv(x, file="x.csv", row.names=FALSE)
}
Run Code Online (Sandbox Code Playgroud)
当使用 调用时,该函数也无法正确实现func.write(df)
。它将写入数据,但名称为"x.csv"
.