我有两个向量:
vars <- c("SR", "PL")
vis <- c(1,2,3)
Run Code Online (Sandbox Code Playgroud)
基于这些向量,我想创建以下向量:
"SR.1" "SR.2" "SR.3" "PL.1" "PL.2" "PL.3"
Run Code Online (Sandbox Code Playgroud)
随着paste
我有以下结果:
paste(vars, vis, sep=".")
[1] "SR.1" "PL.2" "SR.3"
Run Code Online (Sandbox Code Playgroud)
如何创建我需要的矢量?
假设我有以下数据框:
> myvec
name order_no
1 Amy 12
2 Jack 14
3 Jack 16
4 Dave 11
5 Amy 12
6 Jack 16
7 Tom 19
8 Larry 22
9 Tom 19
10 Dave 11
11 Jack 17
12 Tom 20
13 Amy 23
14 Jack 16
Run Code Online (Sandbox Code Playgroud)
我想计算order_no
每个值的不同值的数量name
.它应该产生以下结果:
name number_of_distinct_orders
Amy 2
Jack 3
Dave 1
Tom 2
Larry 1
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
我有一个带有分组变量("Gene")和值变量("Value")的数据框:
Gene Value
A 12
A 10
B 3
B 5
B 6
C 1
D 3
D 4
Run Code Online (Sandbox Code Playgroud)
对于我的分组变量的每个级别,我希望提取最大值.因此,结果应该是一个数据框,每个级别的分组变量有一行:
Gene Value
A 12
B 6
C 1
D 4
Run Code Online (Sandbox Code Playgroud)
可以aggregate
做到的伎俩?
我正在使用reshape包操作数据框.当使用融合函数时,它会对我的值列进行分解,这是一个问题,因为这些值的子集是我希望能够对其执行操作的整数.
有没有人知道将一个因子强制转换为整数的方法?使用as.character()
将它转换为正确的字符,但是我不能立即对它执行操作,as.integer()
或者as.numeric()
将其转换为系统存储该因子的数字,这是没有用的.
谢谢!
杰夫
我有一张桌子,上面有几列构成主键.存储的数据的性质允许这些字段中的一些具有NULL
值.我设计了我的桌子:
CREATE TABLE `test` (
`Field1` SMALLINT(5) UNSIGNED NOT NULL,
`Field2` DECIMAL(5,2) UNSIGNED NULL DEFAULT NULL,
PRIMARY KEY (`Field1`, `Field2`)
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB;
Run Code Online (Sandbox Code Playgroud)
但是,当我运行describe test
它时显示如下:
|| *Field* || *Type* || *Null* || *Key* || *Default* || *Extra*
|| Field1 || smallint(5) unsigned || NO || PRI || ||
|| Field2 || decimal(5,2) unsigned || NO || PRI || 0.00 ||
Run Code Online (Sandbox Code Playgroud)
插入NULL
值时我一直收到错误.
列'Field2'不能为空
这是因为作为主键一部分的字段不能为空吗?除了使用"0"之外,我还有什么其他选择NULL
?
我不经常在R中使用日期,但我想这很容易.我有一个代表数据框中日期的列.我只想创建一个新的数据框,使用日期按月/年汇总第二列.什么是最好的方法?
我想要第二个数据帧,以便将其提供给绘图.
您将提供的任何帮助将不胜感激!
编辑:供参考:
> str(temp)
'data.frame': 215746 obs. of 2 variables:
$ date : POSIXct, format: "2011-02-01" "2011-02-01" "2011-02-01" ...
$ amount: num 1.67 83.55 24.4 21.99 98.88 ...
> head(temp)
date amount
1 2011-02-01 1.670
2 2011-02-01 83.550
3 2011-02-01 24.400
4 2011-02-01 21.990
5 2011-02-03 98.882
6 2011-02-03 24.900
Run Code Online (Sandbox Code Playgroud) 你能建议我自动在R中加载包裹的方法吗?我的意思是,我想在R中开始一个会话,而不需要library('package name')
多次使用.假设我下次启动R时下载了我想要使用的所有软件包.
我在R中使用预测和lm函数时发现了特性.我对相同数据的数据帧和向量得到了不同的结果.
DataFrame代码:
data(mtcars)
fitCar<-lm(mtcars$mpg~mtcars$wt)
predict(fitCar,
data.frame(x=mean(mtcars$wt)),
interval="confidence")
Run Code Online (Sandbox Code Playgroud)
输出:
fit lwr upr
1 23.282611 21.988668 24.57655
2 21.919770 20.752751 23.08679
3 24.885952 23.383008 26.38890
4 20.102650 19.003004 21.20230
5 18.900144 17.771469 20.02882
6 18.793255 17.659216 19.92729
7 18.205363 17.034274 19.37645
8 20.236262 19.136179 21.33635
9 20.450041 19.347720 21.55236
10 18.900144 17.771469 20.02882
11 18.900144 17.771469 20.02882
12 15.533127 14.064349 17.00190
13 17.350247 16.104455 18.59604
14 17.083024 15.809403 18.35664
15 9.226650 6.658271 11.79503
16 8.296712 5.547468 11.04596
17 8.718926 6.052112 11.38574
18 …
Run Code Online (Sandbox Code Playgroud) 有没有办法自动删除几个R命令行的所有文件或文件夹?我知道这些unlink()
或file.remove()
函数,但对于那些您需要定义一个字符向量,其中包含您要删除的文件的所有名称.我正在查找列出特定路径中所有文件或文件夹的内容(例如"C:/ Temp"),然后删除具有特定名称的所有文件(无论其扩展名如何).
很感谢任何形式的帮助!
是的我知道为什么我们总是四舍五入到最近的偶数,如果我们在两个数字的确切中间(即2.5变为2).但是,当我想为某些人评估数据时,他们不希望出现这种行为.获得这个的最简单方法是什么:
x <- seq(0.5,9.5,by=1)
round(x)
Run Code Online (Sandbox Code Playgroud)
为1,2,3,...,10而不是0,2,2,4,4,...,10.
编辑:要清除:舍入后1.4999应为1.(我觉得这很明显)