我是R的新手,无法掌握这个概念.假设我有一个名为"places"的表格,其中包含3个列 - 城市,人口和夏季平均温度
假设我想"过滤" - 产生一个新的表格对象,其中人口少于100万,夏季平均温度大于70度.
在我使用的任何其他程序中,这将非常简单,但是我做了一些研究,我正在努力让自己陷入更大的困惑.鉴于R的目的和它的作用,这必须是非常简单的东西.
我如何将上述条件应用于表格?步骤是什么?根据我的理解,我不能轻易地根据他们的名字选择表格标题,这样会很好(例如WHERE city <1,000,000)
假设我有两个表,表1和表2.表1与表2有一对多的关系.
如果表1是我的基表(SELECT something FROM table1)与表2的内连接,那么当从表2中选择任何字段时,将返回表2中的哪些值?
例如
Table1
Account ID | email
1 | abc@def.com
2 | cats@dogs.com
3 | ex@example.com
Table 2
Subscription ID | Account ID | Email | Created
100 | 1 | abc@def.com | 2014-01-01
102 | 2 | cats@dogs.com | 2014-02-02
103 | 1 | abc@def.com | 2014-03-03
Run Code Online (Sandbox Code Playgroud)
因此,如果我运行查询以根据订阅选择帐户的创建日期,我可以运行SELECT min(Created)以获取第一个.
但是什么是默认行为?如果我的左表是表1加入表2的帐户ID,我选择创建的字段,将返回?2014-01-01或2014-03-03?
我读了这篇关于如何删除tmp文件的帖子.该帖子的解决方案是:
do.call(file.remove, list(list.files("C:/Temp", full.names = TRUE)))
Run Code Online (Sandbox Code Playgroud)
对于Windows机器,目录"C:/ Temp"可能很好.因为我在linux上,我不确定我的tmp文件目录是什么,所以我这样做:
tmp <- tempfile()
Run Code Online (Sandbox Code Playgroud)
返回:"/ tmp/RtmpNS80no/file147c37e54e8e"
所以,我试过这个:
do.call(file.remove, list(list.files("tmp", full.names = TRUE)))
Run Code Online (Sandbox Code Playgroud)
这返回"逻辑(0)"所以可能不起作用?
如何删除所有tmp文件?
(show server_version; 11.5)
Run Code Online (Sandbox Code Playgroud)
我有一个物化视图:
drop materialized view if exists reporting.ecom_channel;
create materialized view reporting.ecom_channel as
select
s.date,
s.user_type,
s.channel_grouping,
s.device_category,
sum(s.sessions) as sessions,
count(distinct s.dimension2) as daily_users,
sum(s.transactions) as transactions,
sum(s.transaction_revenue) as revenue
from ecom.sessions s
group by 1,2,3,4
Run Code Online (Sandbox Code Playgroud)
该查询中没有 id 字段。对于我的常规表,这些表“传统上”指定为'create table tablename .... id serial, field1 int, etc'
由于我根据查询结果创建了物化视图,而不是在创建期间定义每个字段名称,因此如何添加 id?
我这样做的原因是因为当我尝试时:
refresh materialized view concurrently reporting.ecom_channel;
Run Code Online (Sandbox Code Playgroud)
我收到这个错误:
错误:无法同时刷新物化视图“reporting.channel”。提示:在物化视图的一列或多列上创建不带 WHERE 子句的唯一索引
如何在上述上下文中添加 ID?和
create materialized view reporting.ecom_channel as
select
s.date,
s.user_type,
...
Run Code Online (Sandbox Code Playgroud) 一些代码:
mymtcars <- mtcars %>% head %>% rownames_to_column('model') %>% group_by(vs) %>% nest
mymtcars
vs data
<dbl> <list>
1 0 <tibble [3 × 11]>
2 1 <tibble [3 × 11]>
Run Code Online (Sandbox Code Playgroud)
我可以在这个列表列 df 上拟合线性模型,如下所示:
mymtcars %>%
+ mutate(mod = map(.x = data, ~ lm(.x$mpg ~ .x$cyl)))
# A tibble: 2 x 3
# Groups: vs [2]
vs data mod
<dbl> <list> <list>
1 0 <tibble [3 × 11]> <lm>
2 1 <tibble [3 × 11]> <lm>
Run Code Online (Sandbox Code Playgroud)
如果我的函数名称是一个字段怎么办?
mymtcars2 <- mtcars %>% head …Run Code Online (Sandbox Code Playgroud) 昨天我创建了一个 ssh 密钥并克隆了一个用于工作的存储库。进行一些更改后,我尝试推送提交:
git push
ERROR: Repository not found.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Run Code Online (Sandbox Code Playgroud)
我已经阅读了这篇活跃的 SO 帖子。我的问题仍然存在。我不知道如何找出问题所在,因此将分享我认为相关的所有内容。
在我的笔记本电脑上,我有个人和工作存储库。我的工作工作位于嵌套在~/Documents/Projects/Zen/Projects/. 其他地方例如~/Documents/Projects/Personal/用于个人github。
我的 .gitconfig 看起来像这样:
[user]
email = 12345+doug@users.noreply.github.com
name = 12345doug
[includeIf "gitdir:/home/doug/Documents/Projects/Zen/"]
path = ~/.git-zen
Run Code Online (Sandbox Code Playgroud)
/.git-zen 看起来像这样:
[user]
email = doug@work.com
name = doug-work
Run Code Online (Sandbox Code Playgroud)
目前我在一个仓库中:
pwd
/home/doug/Documents/Projects/Zen/Projects/analytics-psql-action
Run Code Online (Sandbox Code Playgroud)
一些提交准备好推送:
~/Documents/Projects/Zen/Projects/analytics-psql-action$ git status
On branch master
Your branch is ahead of 'origin/master' by …Run Code Online (Sandbox Code Playgroud) 我正在完成一个R教程.我一直在研究一个函数,函数的一个部分是接受一个参数并用它来定义一个查找数据的目录.然后必须加载该数据.
正如以下作品:
getmonitor <- function(id, directory){
csvfile <- function(id) {
if (id < 10) {
paste0(0,0,id,".csv")
} else if (id < 100) {
paste0(0,id,".csv")
} else paste0(id,".csv")
}
foo <- read.csv(csvfile(id))
}
Run Code Online (Sandbox Code Playgroud)
精细.但我现在必须使用"directory"参数来定义必须从中读取csv文件的目录.我在这里尝试了各种各样的事情无济于事.
目前,如果假设数据在工作目录中,则代码可以工作.我需要说"转到名为(目录)的目录,然后读取.csv.
包含所有数据文件的目录称为"specdata",因此目录的参数是"specdata".
我尝试了以下方法:
getmonitor <- function(id, directory){
csvfile <- function(id) {
if (id < 10) {
paste0(0,0,id,".csv")
} else if (id < 100) {
paste0(0,id,".csv")
} else paste0(id,".csv")
}
filepath <- append(directory,"/",csvfile(id))
foo <- read.csv(filepath)
}
Run Code Online (Sandbox Code Playgroud)
但后来我收到一条错误消息"错误!之后:无效的参数类型"
我尝试了一些不同的东西,如果我剪切并粘贴所有代码,它可能会比帮助更麻烦.
这样做的逻辑方法是什么?我是否在正确的轨道上追加?如果不是,我还应该起诉什么?我需要获取参数"directory",然后从该目录加载数据.
我正在研究一个R教程并怀疑我必须使用其中一个函数,但我不确定哪个(是的,我研究了它们,但直到我对R术语更加流利,它们都很混乱).
在我的工作目录中有一个文件夹"specdata".Specdata包含数百个名为001.csv - 300.csv的CSV文件.
我正在处理的函数必须计算输入数量的csv文件的总行数.因此,如果函数中的参数是,1:10并且每个文件都有十行,则返回100.
这是我到目前为止所拥有的:
complete <- function(directory,id = 1:332) {
setpath <- paste("/Users/gcameron/Desktop",directory,sep="/")
setwd(setpath)
csvfile <- sprintf("%03d.csv", id)
file <- read.csv(csvfile)
nrow(file)
}
Run Code Online (Sandbox Code Playgroud)
当ID参数是一个数字(例如17)时,这可以工作.但是,如果我输入说10:50作为参数,我收到一个错误:
Error in file(file, "rt") : invalid 'description' argument
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能计算输入ID参数的总行数?
我很难做到这一点.
我在终端中创建了一个名为"somedb"的新数据库
CREATE DATABASE somedb
Run Code Online (Sandbox Code Playgroud)
在我的桌面上,我有从phpMyadmin下载的SQL转储:somedb.sql
我试过了:
somedb < /Users/myname/Desktop/somedb.sql
Run Code Online (Sandbox Code Playgroud)
结果:错误1064(42000):您的SQL语法中有错误
mysql -u myname -p -h localhost somedb </Users/myname/Desktop/somedb.sql
Run Code Online (Sandbox Code Playgroud)
结果:错误1064(42000):您的SQL语法有错误;
我是SQL新手(导入此数据库的目的是进行教科书练习)
我已授予自己所有权限,但没有密码.
知道我做错了什么吗?
这是SQL转储文件的顶部:
-- phpMyAdmin SQL Dump
-- version 4.0.2
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Jun 18, 2013 at 02:22 PM
-- Server version: 5.5.31-30.3
-- PHP Version: 5.2.17
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
-- …Run Code Online (Sandbox Code Playgroud) 我正在使用较差的互联网连接并尝试拉取和运行图像。
我想一次下载一层,每个文档都尝试添加一个平面 --max-concurrent-downloads ,如下所示:
docker run --rm -p 8787:8787 -e PASSWORD=blah --max-concurrent-downloads=1 rocker/verse
Run Code Online (Sandbox Code Playgroud)
但这给出了一个错误:
未知标志:--max-concurrent-downloads 请参阅“docker run --help”。
我尝试打字docker run --help,有趣的是没有看到选项 --max-concurrent-downloads。
我使用的是 Docker Toolbox,因为我使用的是旧 Mac。
在 l 下面这里有一个 --max-concurrent-downloads 选项,但是在我的终端上输入时没有出现 docker run --help
如何将一次下载 3 个图层的默认设置更改为仅一个?