小编Mee*_*sha的帖子

在R中读取网络上的文件

我使用read.csv方法将csv文件导入到R但是得到以下错误.

The network path is "\\shared\data\abc.csv"

read.csv("\\shared/data/abc.csv",header=T)
                    or 
read.csv("\\shared\\data\\abc.csv",header=T)
Run Code Online (Sandbox Code Playgroud)

如果我使用复制粘贴文件资源管理器中的地址栏中的地址,它会打开文件,但R无论如何都无法读取它.什么原因?是因为网络名称以"//"开头而不是传统的驱动器名称,如C,D等?

r path

4
推荐指数
1
解决办法
7176
查看次数

不知道如何自动选择yearqtr类型的对象的比例

      Date     v1     v2
1   2005 Q4   5.0   6.52274 
2   2006 Q1   4.7   6.51802 
3   2006 Q2   4.6   6.36422


Code:-

 ggplot() + geom_line(data=df, aes(x=Date, y=v1,group=1,color="v1"))
Run Code Online (Sandbox Code Playgroud)

我收到错误,因为日期是"yearqtr"类型.请指教.我无法将日期转换为年份,因为我有季度数据.谢谢.

r ggplot2

3
推荐指数
1
解决办法
4635
查看次数

R中的聚合函数同时使用两列

数据:-

df=data.frame(Name=c("John","John","Stacy","Stacy","Kat","Kat"),Year=c(2016,2015,2014,2016,2006,2006),Balance=c(100,150,65,75,150,10))

   Name Year Balance
1  John 2016     100
2  John 2015     150
3 Stacy 2014      65
4 Stacy 2016      75
5   Kat 2006     150
6   Kat 2006      10
Run Code Online (Sandbox Code Playgroud)

码:-

aggregate(cbind(Year,Balance)~Name,data=df,FUN=max )
Run Code Online (Sandbox Code Playgroud)

输出: -

   Name Year Balance
1  John 2016     150
2   Kat 2006     150
3 Stacy 2016      75
Run Code Online (Sandbox Code Playgroud)

我想使用Year和Balance这两个列来汇总/汇总上面的数据框.我使用基函数聚合来做到这一点.我需要最近一年/最近一年的最大余额.在输出的第一行,约翰有最新的一年(2016),但是(2015)的余额,这不是我需要的,它应该输出100而不是150.我在哪里错了?

aggregate r summarization

3
推荐指数
1
解决办法
497
查看次数

在数据框中使用Ifelse

我正在使用的数据框架是

> df <- data.frame(Name=c("Joy","Jane","Jack","Jad"),M1=c(10,40,55,90))
> df
  Name M1
1  Joy 10
2 Jane 40
3 Jack 55
4  Jad 90

> df$Final <- ifelse(df$M1<=50,60,max(75,df$M1))
> df
  Name M1 Final
1  Joy 10    60
2 Jane 40    60
3 Jack 55    90
4  Jad 90    90
Run Code Online (Sandbox Code Playgroud)

如果M1值小于或等于50,那么我需要60作为我的最终值,而如果M1值大于50则我需要最大值(75,M1).在Jack的情况下,M1是55,所以我应该得到最大值(75,55),这是75.我认为它给了我整个M1列的最大值.怎么避免这个?

期望的输出

  Name M1 Final
1  Joy 10    60
2 Jane 40    60
3 Jack 55    75
4  Jad 90    90
Run Code Online (Sandbox Code Playgroud)

if-statement r dataframe

3
推荐指数
1
解决办法
437
查看次数

基于列值在R中编号

Name Grade
John   C
John   C+
John   C
John   B
John   A
John   A+
Kat    B
Kat    C
Kat    B
Run Code Online (Sandbox Code Playgroud)

我想添加一个新列,Months从3开始,然后继续其倍数.行都是排序的.输出看起来像

Name Grade Months
John   C     3
John   C+    6
John   C     9
John   B     12
John   A     15
John   A+    18
Kat    B     3
Kat    C     6
Kat    B     9
Run Code Online (Sandbox Code Playgroud)

RCODE

name <- df$Name[1]
count <- 0
for (i in 1:length(df[,1])){
    if (name!=df$Name[i]){
        count <- 0
        name <- df$Name[i]
     }
    df$Months[i] <- count
    count <- count + …
Run Code Online (Sandbox Code Playgroud)

r dataframe

2
推荐指数
1
解决办法
71
查看次数

使用 data.table 删除 R 中的行

df:-

Date    Name  Salary 
Q1 2015 ABC   $10
Q2 2015 ABC   $11
Q3 2015 ABC   $15
Q1 2015 XYZ   $25
Q2 2015 XYZ   $20
Run Code Online (Sandbox Code Playgroud)

我想从总频率小于 3 的数据中删除行。例如,XYZ 的频率为 2,所以我想删除第 4 行和第 5 行。

test <- setDT(df)[,.I[.N>2],by=Name]
Run Code Online (Sandbox Code Playgroud)

输出:-

> test
   Name V1
1:  ABC  1
2:  ABC  2
3:  ABC  3
Run Code Online (Sandbox Code Playgroud)

过滤正确完成,但我没有得到整个数据集,我只得到输出中的 Name 列。

r data.table

2
推荐指数
1
解决办法
2892
查看次数

带可选参数的功能

我正在尝试使用可选参数来学习和实现VBA中的函数.我试图在给定字符或子字符串的字符串中分隔值来分隔.

Private Function SeperateString(MainString As String, Seperator As String) As String
{

 // Body 

}
Run Code Online (Sandbox Code Playgroud)

例如:我想使用分隔符"/"使用分隔符" - "或"1/2/3/4/5"分离"1-2-3-4-5".

我将使用Instr和其他函数编写逻辑.我的疑问是我想传递一个分隔符所以我不需要为每个编写一个单独的函数,并且如果没有传递则希望" - "是默认值.我能这样做吗?

excel vba excel-vba

1
推荐指数
2
解决办法
439
查看次数

另外溢出

String A = String B + String C
Run Code Online (Sandbox Code Playgroud)

其中字符串B和C是数字但以文本形式存储,字符串A应该包含两者的总和而不是两者的连接,它所做的,所以我用过,

String A= Cint(String B) + Cint( String C)
Run Code Online (Sandbox Code Playgroud)

它会抛出溢出错误.周末愉快.

excel vba excel-vba

1
推荐指数
1
解决办法
47
查看次数